代码之家  ›  专栏  ›  技术社区  ›  Jonathan Toledo

工具栏不会在滚动期间使用TabLayout折叠

  •  1
  • Jonathan Toledo  · 技术社区  · 10 年前

    我在滚动过程中遇到了一个工具栏(带TabLayout)的问题,因为它还隐藏了通知栏,使其看起来像工具栏的标题。

    problem on scroll

    这里是活动的布局:

    <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="com.example.testapp.MainActivity">
    
    <android.support.design.widget.AppBarLayout
      android:id="@+id/appbar"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:theme="@style/AppTheme.AppBarOverlay">
    
      <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|enterAlways"
        app:popupTheme="@style/AppTheme.PopupOverlay">
    
      </android.support.v7.widget.Toolbar>
    
      <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    
    </android.support.design.widget.AppBarLayout>
    
    <android.support.v4.view.ViewPager
      android:id="@+id/container"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:layout_behavior="@string/appbar_scrolling_view_behavior" />
    
    </android.support.design.widget.CoordinatorLayout>
    

    我怎样才能解决这个问题?我见过像Google Play或Phonograph这样的应用程序没有这个问题。

    提前谢谢。

    当做

    更新

    这是我的样式.xml

    <resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
      <item name="colorPrimary">@color/colorPrimary</item>
      <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
      <item name="colorAccent">@color/colorAccent</item>
    </style>
    
    <style name="AppTheme.NoActionBar">
      <item name="windowActionBar">false</item>
      <item name="windowNoTitle">true</item>
    </style>
    
    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
    </resources>
    

    和风格。xml v21

    <resources>
    <style name="AppTheme.NoActionBar">
      <item name="windowActionBar">false</item>
      <item name="windowNoTitle">true</item>
      <item name="android:windowDrawsSystemBarBackgrounds">true</item>
      <item name="android:statusBarColor">@android:color/transparent</item>
    </style>
    </resources>
    

    关于MML13删除fitsSystemWindows的响应,它可以工作,但通知栏会失去颜色,变成白色。

    enter image description here

    enter image description here

    3 回复  |  直到 10 年前
        1
  •  1
  •   Jay Rathod Frank Singhal    10 年前

    试试这个。

    更改此部分。

    <style name="AppTheme.NoActionBar">
      <item name="windowActionBar">false</item>
      <item name="windowNoTitle">true</item>
      <item name="android:windowDrawsSystemBarBackgrounds">true</item>
      <item name="android:statusBarColor">@android:color/transparent</item>
    </style>
    

    为了这个。

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:statusBarColor">@color/colorPrimaryDark</item>
    </style>
    

    希望这对你有帮助。

        2
  •  0
  •   Bhavinkumar Patel    10 年前

    改变

    app:layout_scrollFlags="scroll|exituntilcollapse"
    

    而不是

    app:layout_scrollFlags="scroll|enterAlways"
    
        3
  •  0
  •   user5703518 user5703518    10 年前

    删除:

    android:fitsSystemWindows="true"
    

    从…起 CoordinatorLayout

    您必须使用:

    重视风格:

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">#673AB7</item>
        <item name="colorPrimaryDark">#512DA8</item>
        <item name="colorAccent">#FF4081</item>
    </style>
    

    值-v21:

    <style name="Theme.DesignDemo" parent="AppTheme">
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>