在我的RelativeLayout
中,我有一张图像和两张桌子并排。
图像有一个固定的宽度,我希望表格填充剩余的区域,但宽度相等。
目前,第一个表格宽度等于其中最宽的textView,第二个表格填充屏幕宽度。
现在的样子:
_________
| | +---------+ +-----------------+
| | | Table 1 | | Table 2 |
| Image | +---------+ +-----------------+
| | | | | |
|_________| +---------+ +-----------------+
我希望它看起来如何:
_________
| | +-------------+ +-------------+
| | | Table 1 | | Table 2 |
| Image | +-------------+ +-------------+
| | | | | |
|_________| +-------------+ +-------------+
编辑:我知道我应该使用GridView而不是表格,但我需要支持API 9。
PasteBin上的XML。
答案 0 :(得分:3)
为每张桌子设置宽度为0dp
,权重为1
。
所以它们在剩余空间之间均匀分布。
android:layout_width="0dp"
android:layout_weight="1"
答案 1 :(得分:3)
伪:
<LinearLayout
width="match_parent"
heigth="match_parent"
orientation="horizontal" >
<ImageView
width="50px"
heigth="50px" />
<TableLayout
width="0dp"
heigth="match_parent"
weigth="1" />
<TableLayout
width="0dp"
heigth="match_parent"
weigth="1" />
</LinearLayout>
答案 2 :(得分:1)
在这里,您可以使用RelativeLayout,但对于您希望具有相同宽度的表格,您必须使用嵌套的LinearLayout才能设置其权重。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/white">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:id="@+id/imageView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_margin="15dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem"
android:id="@+id/textView"
android:layout_alignTop="@+id/imageView"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toRightOf="@+id/imageView"
android:textAlignment="center"
android:textSize="20dp"
android:layout_marginRight="15dp" />
<LinearLayout
android:id="@+id/nestedLinearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/imageView"
android:layout_alignBottom="@+id/imageView">
<TableLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/tableLayout"
android:gravity="center" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Lorem Ipsum"
android:id="@+id/textView2"
android:textSize="14dp"
android:gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="999999"
android:id="@+id/textView3"
android:gravity="center" />
</TableLayout>
<TableLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_alignTop="@+id/tableLayout"
android:layout_toRightOf="@+id/tableLayout"
android:gravity="center" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Lorem Ipsum"
android:id="@+id/textView4"
android:textSize="14dp"
android:gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="999999"
android:id="@+id/textView5"
android:gravity="center" />
</TableLayout>
</LinearLayout>
</RelativeLayout>