【发布时间】:2010-10-01 06:07:40
【问题描述】:
如何在我的 xml 文件中定义以下布局:
我希望你从我想在第一行和第二行显示 TextView1 的图像中得到它,TextView2 在左侧,TextView3 在右侧。
我如何定义这个布局?
我知道 layout_gravity 属性但没有成功,所以请分享你的代码
【问题讨论】:
标签: android android-layout android-sdk-2.1
如何在我的 xml 文件中定义以下布局:
我希望你从我想在第一行和第二行显示 TextView1 的图像中得到它,TextView2 在左侧,TextView3 在右侧。
我如何定义这个布局?
我知道 layout_gravity 属性但没有成功,所以请分享你的代码
【问题讨论】:
标签: android android-layout android-sdk-2.1
我认为这可以解决您的问题
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">
<TableLayout android:id="@+id/TableLayout01"
android:layout_height="wrap_content" android:layout_width="fill_parent"
android:stretchColumns="0">
<TableRow android:id="@+id/TableRow01" android:layout_height="wrap_content"
android:layout_width="fill_parent">
<TextView android:text="@+id/TextView01" android:id="@+id/TextView01"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</TableRow>
<TableRow android:id="@+id/TableRow02" android:layout_height="wrap_content"
android:layout_width="fill_parent">
<TextView android:text="@+id/TextView03" android:id="@+id/TextView03"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
<TextView android:text="@+id/TextView04" android:id="@+id/TextView04"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</TableRow>
</TableLayout>
</LinearLayout>
我认为新的解决方案很适合你
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">
<TextView android:text="@+id/TextView01" android:id="@+id/TextView01" android:layout_height="wrap_content" android:layout_width="fill_parent"></TextView>
<LinearLayout android:id="@+id/LinearLayout02"
android:layout_height="wrap_content" android:layout_width="fill_parent">
<TextView android:text="@+id/TextView02" android:id="@+id/TextView02"
android:layout_height="wrap_content" android:layout_width="fill_parent"
android:layout_weight="1"></TextView>
<TextView android:text="@+id/TextView03" android:id="@+id/TextView03"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</LinearLayout>
</LinearLayout>
我现在得到了完美的一个
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">
<TextView android:text="@+id/TextView01" android:id="@+id/TextView01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_marginRight="15dip"></TextView>
<LinearLayout android:id="@+id/LinearLayout02"
android:layout_height="wrap_content" android:layout_width="fill_parent">
<TextView android:text="@+id/TextView02" android:id="@+id/TextView02"
android:layout_height="wrap_content" android:layout_width="fill_parent"
android:layout_weight="1"></TextView>
<TextView android:text="@+id/TextView03" android:id="@+id/TextView03"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</LinearLayout>
</LinearLayout>
【讨论】:
例如,以下布局声明了您需要的内容:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1">
<TableRow>
<TextView
android:text="@+id/TextView01"
android:padding="3dip" />
</TableRow>
<TableRow>
<TextView
android:text="@+id/TextView02"
android:padding="3dip" />
<TextView
android:text="@+id/TextView03"
android:gravity="right"
android:padding="3dip" />
</TableRow>
</TableLayout>
【讨论】:
布局文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="@+id/TextView01" android:id="@+id/TextView01"
android:layout_width="fill_parent" android:layout_height="wrap_content" />
<TextView android:text="@+id/TextView02" android:id="@+id/TextView02"
android:layout_below="@+id/TextView01" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentLeft="true" />
<TextView android:text="@+id/TextView03" android:id="@+id/TextView03"
android:layout_below="@+id/TextView01" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/TextView02"/>
</RelativeLayout>
【讨论】:
layout_alignParentRight 和 Layout_alignParentLeft 属性。现在我在单一布局中实现了它。
最后,我用 belox xml 代码实现了,它对我来说工作正常:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="6dip"
android:orientation="vertical">
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
<TextView
android:text="@+id/TextView01"
android:id="@+id/txtViewTop"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18dip">
</TextView>
</LinearLayout>
<LinearLayout
android:id="@+id/LinearLayout02"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:orientation="horizontal">
<TextView
android:text="@+id/TextView02"
android:id="@+id/txtBottomLeft"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="1"
android:textSize="14dip">
</TextView>
<TextView
android:text="@+id/TextView03"
android:id="@+id/txtBottomRight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="6dip"
android:textSize="14dip">
</TextView>
</LinearLayout>
</LinearLayout>
【讨论】: