android - 如何修复 TabLayout 的上边距

标签 android android-viewpager android-toolbar

从 Chris Banes cheesesquare 获得灵感,我将视差效果与滑动标签相结合。目前工具栏遮盖了tablayout。如何实现屏幕截图 3 中选项卡位于工具栏下方而不是下方的效果。

The landing screen

On Scrolling up, the tabs are hidden below the toolbar

This is the way I want it to be

我的布局代码 -

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

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

    <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">

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:layout_gravity="bottom"
            app:tabMode="scrollable"
            app:tabContentStart="72dp" />

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

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

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

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

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end|bottom"
    android:layout_margin="8dp"
    android:src="@drawable/ic_done"
    app:layout_anchor="@id/tabs"
    app:layout_anchorGravity="center|left|start"
    app:fabSize="mini"
    app:layout_behavior="com.support.android.designlibdemo.ScrollAwareFABBehavior"
    app:borderWidth="0dp" />

最佳答案

经过反复试验,我终于找到了令我满意的输出结果。为可能有类似需求的社区其他成员发布答案

The initial screen

With toolbar and tabs together

这是模板文件

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

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

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="@dimen/detail_backdrop_height"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:fitsSystemWindows="true">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="206dip"
        android:background="#ffcc66"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleMarginStart="48dp"
        app:expandedTitleMarginBottom="20dp"
        app:expandedTitleMarginEnd="64dp">

        <ImageView
            android:id="@+id/backdrop"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"
            android:fitsSystemWindows="true"
            app:layout_collapseMode="parallax" />

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            app:layout_collapseMode="pin" />

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

    <android.support.design.widget.CollapsingToolbarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_scrollFlags="scroll|enterAlways">

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />

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

关于android - 如何修复 TabLayout 的上边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31056318/

相关文章:

java - 无限滚动图像 ViewPager

android - 在 viewpager 中检测触摸/点击事件

android - 使用 Fragments/Toolbar 返回导航

android - 单一 Activity 不会使工具栏的菜单膨胀

java - SQlite 数据库不将 double 值存储为字符串

android - 无法在 android studio 的屏幕上显示和保存捕获的图像

java - Android 应用程序没有收到 UDP 数据包

android - Retrofit 2 从基本 url 中删除主机名后的字符

android - 在 ViewPager 中回收 fragment

java - 关闭 searchview 小部件后工具栏标题不可见