我想用我的EditText
视图填充屏幕,其中所有屏幕高度减去按钮的高度,EditText
Activity
s
我的活动是xml
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableRow
android:id="@+id/tableRow_pickcontact_button"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/pickcontact_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="pickContact"
android:text="@string/pickcontact_string" />
</TableRow>
<TableRow
android:id="@+id/tableRow_chosen_contact"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/chosen_contact"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/contact_default_string"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/chosen_contact_tel_number"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/contact_default_number"
android:textAppearance="?android:attr/textAppearanceMedium" />
</TableRow>
<TableRow
android:id="@+id/tableRow_message"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<EditText
android:id="@+id/edit_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="@string/edit_message"
android:minHeight="100dp"
android:gravity="bottom" />
</TableRow>
<TableRow
android:id="@+id/tableRow_send"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button_send"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="sendMessage"
android:text="@string/button_send" />
<Button
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="sendEmail"
android:text="@string/send_email_btn" />
</TableRow>
</TableLayout>
答案 0 :(得分:0)
试试这个:
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableRow
android:id="@+id/tableRow_pickcontact_button"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<!-- Blah blah-->
</TableRow>
<TableRow
android:id="@+id/tableRow_chosen_contact"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<!-- Blah blah-->
</TableRow>
<TableRow
android:id="@+id/tableRow_message"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" >
<EditText
android:id="@+id/edit_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
<!-- android:layout_weight="1" YOU DON'T NEED THAT-->
android:hint="@string/edit_message"
android:minHeight="100dp"
android:gravity="bottom" />
</TableRow>
<TableRow
android:id="@+id/tableRow_send"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
<!-- Blah blah-->
</TableRow>
</TableLayout>
重点是,将EditText的宽度和高度父布局设为fill_parent。
这样做会使得之后的所有元素都不可见,因为布局已经“填充”了父元素,因此您还应该为这些元素设置权重,以确保它们仍然可见。
虽然这样做时需要找到合适的重量,但在此之前制作这些元素会更容易(但是你需要改变你的设计)。
答案 1 :(得分:0)
// try this
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableRow
android:id="@+id/tableRow_pickcontact_button"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/pickcontact_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="pickContact"
android:text="@string/pickcontact_string" />
</TableRow>
<TableRow
android:id="@+id/tableRow_chosen_contact"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/chosen_contact"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/contact_default_string"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/chosen_contact_tel_number"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/contact_default_number"
android:textAppearance="?android:attr/textAppearanceMedium" />
</TableRow>
<TableRow
android:id="@+id/tableRow_message"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp" >
<EditText
android:id="@+id/edit_message"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:hint="edit_message"
android:gravity="bottom" />
</TableRow>
<TableRow
android:id="@+id/tableRow_send"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button_send"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="sendMessage"
android:text="@string/button_send" />
<Button
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="sendEmail"
android:text="@string/send_email_btn" />
</TableRow>
</TableLayout>