我正在为动作栏制作自定义视图。必须有居中的标题,右边的一些动作按钮和左侧带标题的导航抽屉按钮/背面。
我使用RelativeLayout来放置所有元素,就像这样(这是演示真实布局的变体):
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/actionBarHomeContainer"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:clickable="true">
<ImageView
android:id="@+id/actionBarHomeImage"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:duplicateParentState="true"/>
<TextView
android:id="@+id/actionBarHomeLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:duplicateParentState="true"/>
</LinearLayout>
<TextView
android:id="@+id/actionBarTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"/>
<LinearLayout
android:id="@+id/actionBarOptionsContainer"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_alignParentRight="true">
<!--Action items will be added here pragmatically-->
</LinearLayout>
</RelativeLayout>
在大多数屏幕情况下,它都可以(绿色图片),但是当我处理紧密屏幕时,我的标题会被家庭标签重叠(黄色图片)。请记住,这仅仅是展示情况,真实物品比抽取的物品小,这种情况很少见。所以我的目标是在标题重叠的情况下将它放在actionBarHomeContainer
和actionBarOptionsContainer
之间的剩余空间的中心(蓝色图片)。是否可能以某种方式以及您可能向我建议的其他解决方案?
感谢。
答案 0 :(得分:0)
这是一个正式且非常简单的问题解决方案:Don't mimic UI elements from other platforms
请勿在操作栏上使用带标签的后退按钮
其他平台使用带标签的显式后退按钮,以允许用户向上导航应用程序的层次结构。相反,Android使用主操作栏的应用程序图标进行分层导航,使用导航栏的后退按钮进行时间导航。有关详细信息,请查看Navigation模式。
遵循此指南,在整个平台上提供一致的导航体验。
带有插入符号的Android操作栏与iOS标记为&#34;返回&#34;按钮。