以下是我的代码。我想要一个界面,我有一个单行文本框,一个多行文本框,下面有两个按钮。我希望多行文本框在渲染按钮和文本框后占用所有可用空间。为此,我在主布局中创建了两个LinearLayouts。第一个具有垂直方向,layout_width设置为fill_parent。第二个是水平的,再次使用fill_parent。
第一个有一个文本框,我已将layout_height设置为填充父级。第二个有两个文本框OK和Cancel。
当我运行这个应用程序时,我得到了UI,但按钮非常小(高度约为5px)。我必须手动设置按钮高度。我在这做错了什么。我不想硬编码按钮高度。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1">
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Name"></TextView>
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText>
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Contents"></TextView>
<EditText android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="top" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1">
<Button android:id="@+id/okbutt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="OK" android:layout_weight="1" />
<Button android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="Cancel" android:layout_weight="1" />
</LinearLayout>
谢谢, 阿伦
答案 0 :(得分:2)
我很好奇如何做到这一点,所以我决定尝试一下。这就是我提出的:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/buttons"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<Button
android:id="@+id/okbutt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="OK" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Cancel" />
</LinearLayout>
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:text="Name" />
<EditText
android:id="@+id/textedit1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/textview1" />
<TextView
android:id="@+id/textview2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/textedit1"
android:text="Contents" />
<EditText
android:id="@+id/textedit2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@id/textview2"
android:layout_above="@id/buttons" />
</RelativeLayout>
似乎做你想做的事。
答案 1 :(得分:0)
你可以在这里使用相对布局而不是两个线性布局,我认为它会给出更清晰的ui。和
如果你想手动增加按钮的高度,只需增加按钮上写的文字的高度,即OK的高度和取消
试试这个,也许这个可以帮助你。机器人:TEXTSIZE