我希望看到以下布局工作:
--------------------------
| ----------- |
| |TextView1| |
| ----------- |
| ---------------------- |
| |EditText1 | |
| ---------------------- |
| ----------- |
| |TextView2| |
| ----------- |
| ---------------------- |
| |EditText2 | |
| ---------------------- |
| ----------- |
| |TextView3| |
| ----------- |
| ---------------------- |
| | | |
| | | |
| | | |
| | ImageView | |
| | | |
| | | |
| | | |
| |--------------------| |
| --------- -------- |
| |Button1||Button2| |
| --------- -------- |
| ---------------------| |
| | ButtonBar | |
| ---------------------- |
|------------------------|
我的问题:我不能让Button1和Button2在这个布局中工作。它们要么位于隐藏在ButtonBar后面的ImageView之下,要么在ImageView的底部和ButtonBar的顶部之间缩小。
当前的XML代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/footer" >
<TextView
android:id="@+id/textPostUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="user" />
<EditText
android:id="@+id/editPostUser"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/textPostUser"
android:hint="user"
android:maxLength="40" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textPostComment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editPostUser"
android:text="comment" />
<EditText
android:id="@+id/editPostComment"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/textPostComment"
android:hint="comment"
android:maxLength="200"
android:maxLines="3" >
</EditText>
<TextView
android:id="@+id/textPostCharacterCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editPostComment"
android:text="characters"
android:textSize="5pt" />
<ImageView
android:id="@+id/imagePostResult"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@id/textPostCharacterCount"
android:src="@drawable/camera_icon" />
<Button
android:id="@+id/buttonPostRotateLeft"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_below="@id/imagePostResult"
android:text="left" />
<Button
android:id="@+id/buttonPostRotateRight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_below="@id/imagePostResult"
android:layout_toRightOf="@id/buttonPostRotateLeft"
android:text="right" />
</RelativeLayout>
<LinearLayout
android:id="@+id/footer"
style="@android:style/ButtonBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal" >
<Button
android:id="@+id/buttonPostSave"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="save" />
</LinearLayout>
</RelativeLayout>
如何让左/右按钮显示在imageview下方和按钮栏上方? 我想至少将fill_parent保持在ImageView的高度/宽度,因为它在不同的分辨率下可以很好地缩放。
答案 0 :(得分:1)
为什么不将两个按钮放在水平的LinearLayout中?
答案 1 :(得分:1)
您的ImageView设置为fill_parent,因此下面的按钮没有剩余空间。您可以切换按钮和图像视图,以便在已包含按钮时,imageview占用所有剩余空间:
<Button
android:id="@+id/buttonPostRotateLeft"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="left" />
<Button
android:id="@+id/buttonPostRotateRight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@id/buttonPostRotateLeft"
android:text="right" />
<ImageView
android:id="@+id/imagePostResult"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/buttonPostRotateLeft"
android:layout_below="@id/textPostCharacterCount"
android:src="@drawable/camera_icon" />
答案 2 :(得分:0)
您的按钮设置为android:layout_alignParentBottom="true"
,以及线性布局。后者将隐藏前者,因为它在xml代码中是最后一个。
尝试将按钮置于线性布局中,并将其对齐在页脚android:layout_above="@+id/footer"