Android标签覆盖折叠工具栏

时间:2016-05-19 13:17:35

标签: android android-layout android-tablayout android-coordinatorlayout android-collapsingtoolbarlayout

上下文

我有一个AppBarLayout,其中包括:

  • 折叠工具栏,其中包含:
    • 工具栏
    • 一个imageswitcher
    • 进度条
  • 线性布局,包含文本视图(信息条带)
  • 标签布局

目标

在滚动时,工具栏将固定到顶部,图像切换器和进度条将隐藏。

当填充图像切换器时,这当前效果很好。 Screenshot

问题

但是,当图像切换器为空时,标签会与隐藏图标和标题的toolbar by a small margin重叠(如果存在,未显示)。

您可以在此帖子的评论中将此视为屏幕录制链接。

代码

布局的代码是:

<?xml version="1.0" encoding="utf-8"?>

<!-- http://code.tutsplus.com/articles/scrolling-techniques-for-material-design&#x002D;-cms-24435 -->
<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay"
    android:fitsSystemWindows="true">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:contentScrim="@color/primary"
        android:fitsSystemWindows="true"
        app:titleEnabled="false">


        <include layout="@layout/content_game_image_rotator"
            android:fitsSystemWindows="true"/>
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_scrollFlags="exitUntilCollapsed"
            app:layout_collapseMode="pin"
            app:title=""/>
    </android.support.design.widget.CollapsingToolbarLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white">
        <!-- Pin to top text goes here -->
    </LinearLayout>

    <android.support.design.widget.TabLayout
        android:id="@+id/game_detail_tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_collapseMode="pin"
        app:tabMode="fixed"
        android:fitsSystemWindows="true"
        app:tabGravity="fill"/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
    android:fillViewport="true"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

    <android.support.v4.view.ViewPager
        android:id="@+id/game_detail_viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"  />
</android.support.v4.widget.NestedScrollView>

包含的布局(切换器和进度条):

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:fitsSystemWindows="true">
    <ImageSwitcher
        android:layout_gravity="bottom"
        android:id="@+id/gamescreens"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
    </ImageSwitcher>
    <RelativeLayout
        android:id="@+id/gamescreens_overlay"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:background="@drawable/screenshot_overlay_top_gradient"
        android:visibility="invisible">
        <TextView
            android:id="@+id/overlay_text"
            android:gravity="end"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="6dp"
            android:layout_marginBottom="18dp"
            android:textColor="@android:color/white"
            android:textSize="14sp"/>
        <LinearLayout
            android:background="@drawable/screenshot_overlay_right_gradient"
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true">
            <ImageView
                android:id="@+id/controller_support"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
            <LinearLayout
                android:id="@+id/multiplayer_container"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
                <ImageView
                    android:id="@+id/singleplayer"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />
                <ImageView
                    android:id="@+id/coop"
                    android:contentDescription="Co-Op Game"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />
                <ImageView
                    android:id="@+id/multiplayer"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />
            </LinearLayout>
            <LinearLayout
                android:id="@+id/compatibility_container"
                android:layout_width="wrap_content"
                android:layout_height="match_parent">
                <ImageView android:id="@+id/compatibility_1"
                    android:scaleType="fitXY"
                    android:layout_width="33dp"
                    android:layout_height="33dp"
                    />
                <ImageView android:id="@+id/compatibility_2"
                    android:scaleType="fitXY"
                    android:layout_width="33dp"
                    android:layout_height="33dp"
                    />
                <ImageView android:id="@+id/compatibility_3"
                    android:scaleType="fitXY"
                    android:layout_width="33dp"
                    android:layout_height="33dp"
                    />
            </LinearLayout>
        </LinearLayout>
        <ProgressBar
            android:id="@+id/switcher_progress"
            android:layout_alignParentBottom="true"
            android:layout_width="match_parent"
            android:layout_height="4dp"
            android:paddingBottom="0dp"
            android:layout_marginBottom="0dp"
            style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"/>
    </RelativeLayout>
</FrameLayout>

0 个答案:

没有答案