14

多くのフラグメントを持つ単一の Activity Android アプリがあります。Toolbarリスト画面を表示しているときに、app:layout_scrollFlags="scroll|enterAlways"プロパティでを使用したい。CollapsingToolbarLayout詳細フラグメントでは、画像を含むを使用したいと思います。これは単一のアクティビティ アプリであるため、1 つしかありませんToolbar。両方のケースに合わせてプログラムでレイアウトを変更することは可能ですか?

4

3 に答える 3

16

はい。CollapsingToolbarLayout フラグメントから Toolbar フラグメントに移行するとします。

  1. ;AppBarLayoutを使用して折りたたみます。AppBarLayout.setExpanded(false)

  2. 必要に応じてスクロール フラグを変更します。

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

    必要に応じて、CollapsingToolbarLayout についても同様です。私はそれが次のようなものであるべきだと思います:

    collapsingToolbarParams.setScrollFlags(0); //no flags for ctl
    toolbarParams.setScrollFlags(SCROLL_FLAG_SCROLL | SCROLL_FLAG_ENTER_ALWAYS); //new flags for toolbar
    
于 2015-09-05T23:40:55.420 に答える
0

私のために働きます。

public void enableToolBarScrolling(CollapsingToolbarLayout toolbar) {
    AppBarLayout.LayoutParams params = (AppBarLayout.LayoutParams) toolbar.getLayoutParams();
    params.setScrollFlags(SCROLL_FLAG_SCROLL | SCROLL_FLAG_ENTER_ALWAYS);
    toolbar.setLayoutParams(params);
}
于 2021-03-17T20:45:40.187 に答える