web-dev-qa-db-ja.com

スクロールにコンテンツがない場合にCollapsingToolbarの折りたたみを無効にする方法は?

私はAndroid support design 'com.Android.support:design:22.2.1'を使用しています。私の問題は、スクロールにコンテンツがない場合でも、折りたたみツールバーが折りたたみアクションを有効にしていることです。スクロールにコンテンツがない場合、ビューの縮小を削除する必要があります。

私の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: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="wrap_content"
                Android:fitsSystemWindows="true"
                Android:background="@Android:color/white"
                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"
                    Android:fitsSystemWindows="true"
                    app:contentScrim="?attr/colorPrimary"
                    app:expandedTitleMarginEnd="64dp"
                    app:expandedTitleMarginStart="48dp"
                    app:layout_scrollFlags="scroll|exitUntilCollapsed">

                    <fragment
                        Android:id="@+id/pawfile_header"
                        Android:name="com.lightbulb.pawesome.fragments.PawfileHeaderFragment"
                        Android:layout_width="match_parent"
                        Android:layout_height="wrap_content"
                        Android:layout_marginLeft="10dp"
                        Android:layout_marginTop="10dp"
                        Android:fitsSystemWindows="true"
                        app:layout_collapseMode="parallax" />

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

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

            <fragment
                Android:id="@+id/pawfile_timeline"
                Android:name="com.lightbulb.pawesome.user_timeline.PawesomeUserTimelineFragment"
                Android:layout_width="match_parent"
                Android:layout_height="match_parent"
                app:layout_behavior="@string/appbar_scrolling_view_behavior" />

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

DPATE QUESTION:

ビューの縮小の無効化と有効化が完了しました。折りたたみを無効にするために、次のコード行を使用しました。

AppBarLayout.LayoutParams appbarParams = (AppBarLayout.LayoutParams)     collapsingToolbar.getLayoutParams();
appbarParams.setScrollFlags(0);
collapsingToolbar.setLayoutParams(p);

問題は、appbarがスクロールフラグの高度を強制的に0に設定することです。appbar.setElevation(0)を使用しようとしましたが、効果がありません。アプリバーから標高を削除するにはどうすればよいですか?

16

appbarlayout参照を取得し、setScrollFlagsを設定します。

AppBarLayout.LayoutParams p = (AppBarLayout.LayoutParams) toolbar.getLayoutParams();
p.setScrollFlags(0);
toolbar.setLayoutParams(p);
28
rKrishna

標高を削除するには、appbarParams.setScrollFlags(-1);appBarLayout.setExpanded(true, true)を試してください。

フラグメントにrecyclerViewがある場合は、recyclerView.setNestedScrollingEnabled(false);を試してください

特定のフラグメントに対してCollapsingToolbarLayoutの展開を無効にする必要があります

3
Flatout

折りたたみツールバーの折りたたみを停止するには

app:layout_scrollFlags="scroll|exitUntilCollapsed" XMLファイル内..そのコードを削除できます

0