CollapsingToolbarLayoutのセットアップがあり、そこに壁紙を配置しています。完全に崩壊しないようにしたいです。
私はミンハイトや他の多くのものを試しましたが、それを理解することができません。
2番目のスクリーンショットに折りたたむのをやめるにはどうすればよいですか?
アクティビティが読み込まれたときに表示
希望の停止点
現在の停止ポイント
CollapsingToolbarLayout
はToolbar
と非常に密接に連携しているため、折りたたみ時の高さはツールバーによって異なります。
このレイアウトを使用して問題を解決することができました(注それは通常のCoordinatorLayout
/AppBarLayout
セットアップに入る、 FabとNestedScrollView
またはRecyclerView
)の場合:
<Android.support.design.widget.CollapsingToolbarLayout
Android:id="@+id/collapsing_toolbar"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:fitsSystemWindows="true"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:statusBarScrim="?attr/colorPrimaryDark"
app:contentScrim="@Android:color/transparent"
app:titleEnabled="false"
>
<!-- There isnt a contentSCrim attribute so the toolbar is transparent after being
collapsed
Disabled the title also as you wont be needing it -->
<ImageView
Android:id="@+id/image_v"
Android:layout_width="match_parent"
Android:layout_height="360dp"
Android:layout_gravity="center"
Android:scaleType="centerCrop"
Android:src="@drawable/md2"
Android:fitsSystemWindows="true"
app:layout_collapseMode="parallax"
tools:ignore="ContentDescription"
/>
<!-- Normal Imageview. Nothing interesting -->
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="168dp"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
/>
<!-- The toolbar is styled normally. However we disable the title also in code.
Toolbar height is the main component that determines the collapsed height -->
<TextView
Android:text="@string/app_name"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="bottom"
Android:background="?attr/colorPrimaryDark"
Android:paddingLeft="72dp"
Android:paddingRight="0dp"
Android:paddingBottom="24dp"
Android:paddingTop="24dp"
Android:textColor="@Android:color/white"
Android:textAppearance="@style/TextAppearance.AppCompat.Headline"
/>
<!-- The title textView -->
</Android.support.design.widget.CollapsingToolbarLayout>
関連するアクティビティは次のようになります。
...
setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// Disable toolbar title
getSupportActionBar().setDisplayShowTitleEnabled(false);
...
これが相互作用のビデオです
私は同じ問題に直面しました。
最初に、以前の回答で説明したようにツールバーの高さを設定するだけで機能します。
しかし、これは別の問題につながりました。ツールバービューはタッチイベントを食べるため、折りたたみビュー(MapView)は、ツールバーと重なっている部分のタッチイベントを受け取りません。
最後に、私の解決策は、CollapsingToolbarLayoutからToolbarを削除することです。私の場合、折りたたみを制限するためだけに使用したので問題ありません。次のように、onCreateViewで最小の折りたたみ高さを設定します。
CollapsingToolbarLayout layoutCollapsing = (CollapsingToolbarLayout) rootView.findViewById(R.id.layoutCollapsing);
layoutCollapsing.setMinimumHeight(120);
目的のストップハイトをツールバーに追加して、app:contentScrim="#00000000"
(CollapsingToolbarLayoutの場合)。
<Android.support.design.widget.CollapsingToolbarLayout
Android:id="@+id/collapsing_toolbar"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:contentScrim="#00000000"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
Android:id="@+id/ImageView"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:src="@drawable/image"
app:layout_collapseMode="parallax"/>
<Android.support.v7.widget.Toolbar
Android:layout_width="match_parent"
Android:layout_height="100dp"
/> <!-- set desired stop-height as height -->
</Android.support.design.widget.CollapsingToolbarLayout>