【发布时间】:2015-09-28 14:55:41
【问题描述】:
大家晚上好,
这是交易。我在我的 CollapsingToolbarLayout 中放置了一些小部件(2 个 TextViews、2 个 ImageViews、1 个 ImageButton 和 1 个出现在背景中的 NetworkImageView)以及一个工具栏。棒棒糖上的效果很好。
这是 Lollipop 上的样子(期望的结果):
但是,从 Android 4.0 到 Android 4.4,结果是这样的:
子视图不会出现。如您所见,所有这些视图都应该位于布局的底部。我实际上注意到它们确实出现了,但只有在扩展的应用栏底部对齐工具栏下方。这就是两个 ImageView 中的 1 个确实出现的原因。
.. 很奇怪。
不管怎样,这是我的完整 AppBarLayout,稍后包含在另一个布局中。
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
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="192dp"
android:fitsSystemWindows="true"
android:theme="@style/actionBar.QuickLyric"
app:layout_behavior="com.geecko.QuickLyric.utils.AppBarBehavior">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="192dp"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginBottom="162dp"
app:expandedTitleMarginStart="60dp"
app:expandedTitleTextAppearance="@style/TextAppearance.Invisible"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<com.geecko.QuickLyric.view.FadeInNetworkImageView
android:id="@+id/cover"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/cover_art_desc"
android:scaleType="centerCrop"
android:background="@color/cover_bg"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.5"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:layout_gravity="top"
android:rotation="180"
android:src="@drawable/gradient_overlay"
app:layout_collapseMode="pin"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:layout_gravity="bottom"
android:src="@drawable/gradient_overlay"/>
<TextView
android:id="@+id/song"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|start"
android:layout_marginBottom="25dp"
android:ellipsize="end"
android:paddingLeft="12dp"
android:paddingRight="26dp"
android:scrollHorizontally="true"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="?android:textColorPrimary"/>
<TextView
android:id="@+id/artist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|bottom"
android:layout_marginBottom="5dp"
android:ellipsize="end"
android:paddingLeft="12dp"
android:paddingRight="26dp"
android:scrollHorizontally="true"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
android:textColor="?android:textColorSecondary"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="4dp"
android:background="?android:attr/selectableItemBackground"
android:padding="10dp"
android:src="@drawable/ic_edit"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="4dp"
android:focusable="false"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</android.support.design.widget.CollapsingToolbarLayout>
希望你们能提供帮助.. :/
【问题讨论】:
-
似乎是
app:contentScrim的问题。删除内容稀松布可修复子视图消失。显然不理想,但在解决此问题之前值得注意。 -
修复了新版support-design libray中的bug。 com.android.support:design:23.2.1
标签: android material-design android-design-library