父级中心文本,2个可变宽度视图与边对齐

时间:2012-04-17 03:39:16

标签: android android-layout

我试图结束的项目的一个要求是重现类似于Navbar的iOS UI功能。

(我意识到从Android设计的角度来看这很糟糕,但我无能为力。)

对于那些不知道我想要完成什么的人here就是一个例子。关键是要有一个始终居中的TextView栏,同时可以将两个可变宽度按钮对齐到左侧和右侧。即使其中一个按钮消失,标题仍必须居中。

通过使用虚拟不可见视图强制左侧和右侧“组件”具有相同的宽度,这种行为并不难实现。

上述不起作用的用例是标题太长而无法在逻辑上居中(和或者左键缺失。)在这种情况下,我的解决方案强制标题以椭圆形方式快速进行。所需的行为是标题扩展到该空白区域。

任何帮助将不胜感激。我意识到这种解释可能相当令人困惑。我很乐意澄清任何一点。

2 个答案:

答案 0 :(得分:0)

您是否尝试过RelativeLayout? http://developer.android.com/reference/android/widget/RelativeLayout.html

使用RelativeLayout,您可以让TextView填充该顶部栏的整个宽度,除了左侧和右侧的一些layout_margin以留出按钮的空间。左右按钮位于RelativeLayout的第二层(TextView下方)。

答案 1 :(得分:0)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:text="Button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:text="Button" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@id/button1"
        android:layout_toLeftOf="@id/button2"
        android:ellipsize="middle"
        android:text="TextView" />

</RelativeLayout>