我试图结束的项目的一个要求是重现类似于Navbar的iOS UI功能。
(我意识到从Android设计的角度来看这很糟糕,但我无能为力。)
对于那些不知道我想要完成什么的人here就是一个例子。关键是要有一个始终居中的TextView栏,同时可以将两个可变宽度按钮对齐到左侧和右侧。即使其中一个按钮消失,标题仍必须居中。
通过使用虚拟不可见视图强制左侧和右侧“组件”具有相同的宽度,这种行为并不难实现。
上述不起作用的用例是标题太长而无法在逻辑上居中(和或者左键缺失。)在这种情况下,我的解决方案强制标题以椭圆形方式快速进行。所需的行为是标题扩展到该空白区域。
任何帮助将不胜感激。我意识到这种解释可能相当令人困惑。我很乐意澄清任何一点。
答案 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>