我有一个垂直布局:2个文本字段和一个水平按钮栏:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ff00ff00"
android:orientation="vertical"
android:padding="4dp" >
<EditText
android:id="@+id/et_email"
android:layout_width="fill_parent"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:background="#ff00ffff"
android:inputType="textEmailAddress" >
</EditText>
<EditText
android:id="@+id/et_comment"
android:layout_width="fill_parent"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:background="#ff00ffff"
android:inputType="textMultiLine"
android:maxLines="5"
android:minLines="5" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_send"
android:layout_weight="0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="OK" />
<Button
android:id="@+id/btn_show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Some very long text" />
<Button
android:id="@+id/btn_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel" />
</LinearLayout>
</LinearLayout>
我希望按钮栏有wrap_content
大小策略(甚至不能让它们固定大小,因为这个应用程序有不同的本地化)。我还希望文本字段与按钮框具有相同的宽度。以下是选择平台 17 的设计器(Eclipse + ADT)中上述 xml 的外观(以及我希望它的外观)。颜色只是为了方便调试:
以下是它在 Android 4.1 平板电脑上的外观:
此布局用作对话框的自定义布局。除了设置内容和标题外,没有对 Dialog 进行任何操作。
有趣的事实:它在 Android 3.1 平板电脑上看起来与我想要的完全一样(并且与 ADT 设计师展示的一样)。但不是在 4.1 上。
如何实现所需的布局?