上下文
我有一个AppBarLayout,其中包括:
目标
在滚动时,工具栏将固定到顶部,图像切换器和进度条将隐藏。
当填充图像切换器时,这当前效果很好。 Screenshot
问题
但是,当图像切换器为空时,标签会与隐藏图标和标题的toolbar by a small margin重叠(如果存在,未显示)。
您可以在此帖子的评论中将此视为屏幕录制链接。
代码
布局的代码是:
<?xml version="1.0" encoding="utf-8"?>
<!-- http://code.tutsplus.com/articles/scrolling-techniques-for-material-design--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>