我想在Android中实现这样的LinearLayout:
http://www.disclafani.net/layout.png
但我不知道该怎么做。
如果我这样做:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="60dp" >
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="60dp" >
<TextView android:text="TextView" android:id="@+id/item_0"
android:layout_width="wrap_content"
android:layout_height="30dp" >
</TextView>
<TextView android:text="TextView" android:id="@+id/item_1"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:textSize="18dp"
android:textColor="#ff0000">
</TextView>
</LinearLayout>
<LinearLayout
android:layout_width="80dp"
android:gravity="right"
android:layout_height="60dp" >
<TextView android:text="TextView" android:id="@+id/item_2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:textColor="#ff0000">
</TextView>
</LinearLayout>
</LinearLayout>
未显示第二个LinearLayout(右侧)。 我想我必须使用RelativeLayout,但是我如何绘制类似的LinearLayout?
这是用于ListView中ListItem的布局,因此每个框必须具有相同的宽度(因此不能对2 item_0和item_1布局包装使用wrap_content。
谢谢和问候
答案 0 :(得分:2)
尝试将android:layout_weight =“1”添加到顶级LinearLayout内的第一个子LinearLayout(即XML第5行的那个):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="60dp">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="60dp" android:layout_weight="1">
<TextView android:text="TextView" android:id="@+id/item_0"
android:layout_width="wrap_content" android:layout_height="30dp">
</TextView>
<TextView android:text="TextView" android:id="@+id/item_1"
android:layout_width="wrap_content" android:layout_height="30dp"
android:textSize="18dp" android:textColor="#ff0000">
</TextView>
</LinearLayout>
<LinearLayout android:layout_width="80dp" android:gravity="right"
android:layout_height="60dp">
<TextView android:text="TextView" android:id="@+id/item_2"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:textSize="20dp" android:textColor="#ff0000">
</TextView>
</LinearLayout>
</LinearLayout>
答案 1 :(得分:1)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="60dp" >
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="60dp"
android:layout_weight="70">
<TextView android:text="TextView" android:id="@+id/item_0"
android:layout_width="wrap_content"
android:layout_height="30dp" >
</TextView>
<TextView android:text="TextView" android:id="@+id/item_1"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:textSize="18dp"
android:textColor="#ff0000">
</TextView>
</LinearLayout>
<LinearLayout
android:layout_weight="30"
android:layout_width="80dp"
android:gravity="right"
android:layout_height="60dp" >
<TextView android:text="TextView" android:id="@+id/item_2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:textColor="#ff0000">
</TextView>
</LinearLayout>
</LinearLayout>
答案 2 :(得分:1)
http://developer.android.com/resources/articles/layout-tricks-efficiency.html
这种布局效率更高:
<?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="60dp">
<TextView android:text="TextView" android:id="@+id/item_2"
android:layout_width="80dp" android:layout_alignParentTop="true"
android:layout_height="60dp" android:textSize="20dp"
android:textColor="#ff0000" android:layout_alignParentRight="true">
</TextView>
<TextView android:text="TextView" android:id="@+id/item_0"
android:layout_width="fill_parent" android:layout_height="30dp"
android:layout_toLeftOf="@id/item_2">
</TextView>
<TextView android:text="TextView" android:id="@+id/item_1"
android:layout_width="fill_parent" android:layout_height="30dp"
android:textSize="18dp" android:textColor="#ff0000"
android:layout_below="@id/item_0" android:layout_toLeftOf="@id/item_2">
</TextView>
</RelativeLayout>