我正在尝试制作一个具有三行的 LinearLayout,每行的高度相同。我在主布局中使用了 3 个 LinearLayout,每个布局的权重为 1。
中间的LinearLayout应该包含一个ImageView、TextView、ImageView,权重分别为1、2、1。为此,我在中间的 LinearLayout 中创建了另一个 3。
我希望 TextView 的大小是每个 ImageView 的两倍。如果您看到下面的代码,当内部 LinearLayouts 的 layout_weight 为 1 时,我没有问题,这三个出现的大小相等。但是,当我将中间一个(使用 id=textLayout)设置为 时layout_weight=2
,它会完全消失(如 Eclipse 图形布局查看器中所见),并且只有另外两个可见。
<?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="fill_parent"
android:orientation="vertical"
android:background="@drawable/fondo"
android:gravity="center_vertical|center_horizontal">
<LinearLayout
android:id="@+id/LayoutTop"
android:orientation="horizontal"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1">
</LinearLayout>
<LinearLayout
android:id="@+id/LayoutMid"
android:orientation="horizontal"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1">
<LinearLayout
android:orientation="horizontal"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1">
<ImageView
android:layout_height="fill_parent"
android:layout_width="fill_parent">
</ImageView>
</LinearLayout>
<LinearLayout
android:id="@+id/textLayout"
android:orientation="horizontal"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="2">
<TextView
android:text="Status"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</TextView>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1">
<ImageView
android:layout_height="fill_parent"
android:layout_width="fill_parent">
</ImageView>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/LayoutBottom"
android:orientation="horizontal"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1">
</LinearLayout>
</LinearLayout>