我试图为AppBarLayout和CollapsingToolbarLayout动态设置高度,但无论我做了什么都没有用。
工具栏高度= CollapsingToolbarLayoutHeight / 2
如何在onCreate上完成 寻找帮助的人。
XML
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:id="@+id/cl_movie_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/app_background" >
<android.support.design.widget.AppBarLayout
android:id="@+id/ab_movie_detail"
android:layout_width="match_parent"
android:layout_height="256dp" >
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/ctb_movie_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
local:layout_scrollFlags="scroll|exitUntilCollapsed"
local:contentScrim="@android:color/transparent" >
<ImageView
android:id="@+id/iv_movie_detail_landscape_poster"
android:layout_width="match_parent"
android:layout_height="match_parent"
local:layout_collapseMode="parallax"
android:background="@drawable/test_landscape"
android:scaleType="centerCrop" />
<include
android:id="@+id/toolbar"
layout="@layout/toolbar_without_logo_transparent" />
<RelativeLayout
android:id="@+id/rl_movie_detail_trailer_area"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
local:layout_collapseMode="parallax"
android:background="@drawable/transparent_rectangle_radius_corner"
android:padding="@dimen/margin8" >
<ImageView
android:id="@+id/iv_movie_detail_trailer_icon"
android:layout_width="@dimen/drawer_icon_width"
android:layout_height="@dimen/drawer_icon_width"
android:layout_marginLeft="@dimen/margin8"
android:layout_marginRight="@dimen/margin8"
android:scaleType="fitXY"
android:src="@drawable/ic_play_trailer" />
<TextView
android:id="@+id/tv_movie_detail_trailer_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/iv_movie_detail_trailer_icon"
android:gravity="center"
android:paddingRight="@dimen/margin8"
android:text="@string/assetActivityAssetTrailer" />
</RelativeLayout>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
local:layout_behavior="@string/appbar_scrolling_view_behavior" >
<LinearLayout
android:id="@+id/ll_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
childView...
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
<ImageView
android:id="@+id/iv_movie_detail_portrait_poster"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin16"
local:layout_anchor="@id/ab_movie_detail"
local:layout_anchorGravity="bottom|left|start"
android:clickable="true"
android:src="@drawable/test_portrait" />
</android.support.design.widget.CoordinatorLayout>
类
private AppBarLayout appBarLayout;
private CollapsingToolbarLayout collapsableToolbarLayout;
private ImageView landscapePoster;
CollapsingToolbarLayout.LayoutParams lp_landscape_poster = null;
lp_landscape_poster = new CollapsingToolbarLayout.LayoutParams(width, heightOfLandscapePoster);
landscapePoster.setLayoutParams(lp_landscape_poster);
CoordinatorLayout.LayoutParams lp_app_bar = null;
lp_app_bar = new CoordinatorLayout.LayoutParams(width, heightOfLandscapePoster);
appBarLayout.setLayoutParams(lp_app_bar);
AppBarLayout.LayoutParams lp_collapsable_toolbar = null;
lp_collapsable_toolbar = new AppBarLayout.LayoutParams(width, heightOfLandscapePoster);
lp_collapsable_toolbar.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL | AppBarLayout.LayoutParams.SCROLL_FLAG_EXIT_UNTIL_COLLAPSED);
collapsableToolbarLayout.setLayoutParams(lp_collapsable_toolbar);