我有一个CollapsingToolbarLayout
定义为在折叠和展开模式下均居中:
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/rootLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="286dp">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsingToolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:collapsedTitleGravity="center"
app:expandedTitleGravity="center"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:id="@+id/backgroundImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@null"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax"
app:layout_scrollFlags="scroll|exitUntilCollapsed"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|exitUntilCollapsed"/>
<ImageView
android:id="@+id/someIcon"
android:layout_width="56dp"
android:layout_height="wrap_content"
android:src="@drawable/some_icon"
android:padding="16dp"
android:layout_gravity="top|end"
app:layout_collapseMode="pin"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
我为工具栏定义了一个标题,但是当我折叠它时,我可以看到标题沿对角线方向移动而不是垂直向上,并且它稍微与工具栏线中心的右侧对齐。请注意,宽度是 match_parent 并且折叠的重力是中心,那么为什么会发生这种情况以及我应该如何解决它?
• 第一张截图:如果我使用折叠 -> 中心和扩展 -> 中心重力,然后折叠布局,它会是什么样子。请注意,它位于屏幕中心的右侧。
• 第二张截图:如果我摆脱折叠 -> 中心重力,但保留展开 -> 中心重力,然后折叠布局,它会是什么样子。请注意,默认情况下它是左对齐的。
• 第三张截图: 扩展后的样子
到目前为止我尝试过的事情解决这个问题(没有成功):
• 摆脱塌缩的重力,只留下膨胀的重力
• 使用默认的roboto 字体作为标题
• 将工具栏和折叠布局的内边距和边距设置为 0
• 设置重心中心_水平而不是中心
Edit:
我发现使其正常工作的唯一解决方法是使用单独的文本视图来保存标题,而不是设置 collapsingtoolbarlayout 的标题(这使得标题正确折叠到中心)。这不是最佳的,所以我很想知道 CPL 是否有错误,或者是否有办法使用默认标题来做同样的事情。
你需要设置app:contentInsetStart
and app:contentInsetLeft
属性到0dp
.
<android.support.v7.widget.Toolbar
..
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)