【问题标题】:Unexpected toolbar behavior using AppBarLayout on Ice Cream Sandwich API 15在 Ice Cream Sandwich API 15 上使用 AppBarLayout 出现意外的工具栏行为
【发布时间】:2016-10-10 04:02:54
【问题描述】:

这是我的主要布局

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:elevation="4dp">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            app:titleTextAppearance="@style/ToolbarTitle"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            app:layout_scrollFlags="scroll|enterAlways|snap"/>

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            style="@style/CustomTabLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMode="scrollable"
            app:layout_scrollFlags="enterAlways"/>

    </android.support.design.widget.AppBarLayout>

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" >

    </FrameLayout>

    <fr.castorflex.android.circularprogressbar.CircularProgressBar
        android:id="@+id/base_progressSpinner"
        android:layout_gravity="center"
        android:layout_width="72dp"
        android:layout_height="72dp"
        android:indeterminate="true"
        android:visibility="invisible"
        app:cpb_color="@color/spinner"
        app:cpb_rotation_speed="1.0"
        app:cpb_sweep_speed="1.0"
        app:cpb_stroke_width="4dp"
        app:cpb_min_sweep_angle="10"
        app:cpb_max_sweep_angle="300"/>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab_request"
        android:visibility="gone"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_gravity="bottom|end"
        android:src="@drawable/request_fab_icon"
        android:layout_margin="@dimen/big_padding"
        android:clickable="true"
        app:backgroundTint="@color/fab"
        app:layout_anchorGravity="bottom|right|end"
        app:layout_behavior="source.bigdx.com.bigdxsource.util.ScrollAwareFABBehavior"/>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab_contact"
        android:visibility="gone"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_gravity="end|bottom"
        app:borderWidth="0dp"
        android:src="@drawable/contact_fab_icon"
        android:layout_margin="@dimen/big_padding"
        android:clickable="true"
        app:backgroundTint="@color/fab"/>

</android.support.design.widget.CoordinatorLayout>

在 API 16 及更高版本上没有问题。滚动内容时,工具栏会向上移动,直到按应有的方式折叠。

但是在 API 14/15 上,滚动时内容不会滚动,只会滚动工具栏。当工具栏折叠时,内容会滚动,但不会与工具栏所在的位置重叠。

我已尝试更改上述布局中的样式和值等许多内容,但无法使其像在 API 16+ 设备上那样工作。

更新

似乎将它包装在 CollapsingToolbarLayout 中可以修复它,但不需要。

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_scrollFlags="scroll|enterAlways|snap"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleMarginStart="48dp"
        app:expandedTitleMarginEnd="64dp">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        app:titleTextAppearance="@style/ToolbarTitle"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        style="@style/CustomTabLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabMode="scrollable"
        app:layout_scrollFlags="enterAlways"/>

    </android.support.design.widget.CollapsingToolbarLayout>

</android.support.design.widget.AppBarLayout>

【问题讨论】:

    标签: android android-coordinatorlayout android-design-library android-appbarlayout


    【解决方案1】:

    这是 ICS 中 CoordinatorLayout 的问题。尝试使用不同的布局,工具栏会出现

    【讨论】:

      猜你喜欢
      • 2012-04-01
      • 1970-01-01
      • 2012-04-13
      • 2012-01-28
      • 2012-02-28
      • 1970-01-01
      • 1970-01-01
      • 2012-01-19
      • 1970-01-01
      相关资源
      最近更新 更多