当它以相对布局为中心并重叠时的不同视图排列

时间:2014-08-14 11:01:51

标签: android android-layout user-interface android-actionbar android-view

我正在为动作栏制作自定义视图。必须有居中的标题,右边的一些动作按钮和左侧带标题的导航抽屉按钮/背面。

我使用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>

Custom action bar problem

在大多数屏幕情况下,它都可以(绿色图片),但是当我处理紧密屏幕时,我的标题会被家庭标签重叠(黄色图片)。请记住,这仅仅是展示情况,真实物品比抽取的物品小,这种情况很少见。所以我的目标是在标题重叠的情况下将它放在actionBarHomeContaineractionBarOptionsContainer之间的剩余空间的中心(蓝色图片)。是否可能以某种方式以及您可能向我建议的其他解决方案?

感谢。

1 个答案:

答案 0 :(得分:0)

这是一个正式且非常简单的问题解决方案:Don't mimic UI elements from other platforms

  

请勿在操作栏上使用带标签的后退按钮

     

其他平台使用带标签的显式后退按钮,以允许用户向上导航应用程序的层次结构。相反,Android使用主操作栏的应用程序图标进行分层导航,使用导航栏的后退按钮进行时间导航。有关详细信息,请查看Navigation模式。

     

遵循此指南,在整个平台上提供一致的导航体验。

     

Android action bar with up caret vs. iOS labeled "Back" button.

     

带有插入符号的Android操作栏与iOS标记为&#34;返回&#34;按钮。