我在我的一个布局中使用了CollapsingToolbarLayout,我在AppBar布局上锚定了一个图像(id = event_logo); How it looks before collapsing
但是,当CollapsingToolbarLayout完全折叠时,工具栏会覆盖图像。 How it looks after collapsing
我的xml代码
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="185dp"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapse_toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:toolbarId="@+id/toolbar">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="fill"
android:fitsSystemWindows="true"
android:scaleType="center"
android:src="@drawable/bgg" />
<android.support.v7.widget.Toolbar
android:id="@+id/about_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:theme="@style/MyTheme1"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/item_detail_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
.....
</android.support.v4.widget.NestedScrollView>
<ImageView
android:id="@+id/event_logo"
android:layout_width="65dp"
android:layout_height="65dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center_vertical|left"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/barcode_scanner"
android:layout_marginTop="120dp"
android:contentDescription="event_logo"
app:layout_anchor="@+id/app_bar"
app:layout_anchorGravity="bottom|right" />
在Android 6.0上测试
任何想法为什么会这样?
答案 0 :(得分:1)
对于此问题的未来读者......解决此问题的诀窍是将高程设置为20dp
只需将高程属性添加到锚定图像
即可
<ImageView
android:id="@+id/event_logo"
android:layout_width="65dp"
android:layout_height="65dp"
android:layout_margin="@dimen/fab_margin"
android:contentDescription="event_logo"
android:elevation="20dp"
android:scaleType="fitXY"
app:layout_anchor="@+id/app_bar"
app:layout_anchorGravity="bottom|right"
tools:targetApi="lollipop" />
注意:属性提升仅用于API 21及更高版本,这就是为什么需要添加targetApi棒棒糖