0

我要完成的项目的要求之一是重现类似于导航栏的 iOS UI 功能。

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

对于那些不知道我在这里尝试完成什么的人来说,这是一个例子。关键是要有一个始终居中的 TextView 栏,同时可以使两个可变宽度的按钮左右对齐。即使两个按钮之一消失,标题仍必须居中。

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

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

任何帮助,将不胜感激。我意识到这种解释可能相当混乱。我很乐意澄清任何观点。

4

2 回答 2

0

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

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

于 2012-04-17T03:45:17.747 回答
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>
于 2012-04-17T03:53:32.827 回答