7

私は自分のアプリケーションでCoordinatorLayout使用したいのですが、表示ビューcoordinatorLayoutで問題が発生します。CollapsingToolbarLayout

ここに画像の説明を入力

WhatsAppの画面TabsのようなビューをデザインしたいCoordinatorlayout

私の XML コード

<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:fitsSystemWindows="true">

    <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.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fitsSystemWindows="false"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginEnd="32dp"
            app:expandedTitleMarginStart="24dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">


            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

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

                </android.support.v7.widget.Toolbar>
            </LinearLayout>

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

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

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


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

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

        // child view

    </android.support.v4.widget.NestedScrollView>

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

3 に答える 3

14

CoordinatorLayout のタブの解決策を見つけました

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

<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/tabanim_maincontent"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

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

        </android.support.v7.widget.Toolbar>

         /***
                   Here You can add custom layout
                 **/


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

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

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


</android.support.design.widget.CoordinatorLayout>
于 2015-08-05T09:16:32.337 に答える
0

「しかし、それは表示に問題を引き起こします」は、あなたがどのような問題を抱えていたかを述べていませんが、解決策を見つけてよかったです。

22.2.1 と 23.0.1 の両方のサポート ライブラリで、fitsSystemWindows="true" を使用しているときに CoordinatorLayout の TabLayout と ViewPager を使用する場合、実際に問題があります。RecyclerView を使用して上にスクロールすると、背景色が固定されていないときに TabLayout ヘッダーがステータス バーに表示されます。

上記があなたの問題の1つであったことを暗示しているだけかもしれません。そうであれば、5.0以降のAndroidではアプリケーションが多くの外観を失うため、fitsSystemWindowsを削除することは最善の解決策ではありません。

それも良い解決策ではありませんが、ネストされた android.support.design.widget.CoordinatorLayout を追加することでこの問題を解決できましたが、そこで DrawerLayout を使用する場合は、次の例に示すように何も必要ありません: https://github.com /クリスベンズ/チーズスクエア

于 2015-09-29T12:39:49.293 に答える