这是我的布局(图片):
我想要做的是让第一个LinearLayout 50dip高(这已经没问题了),然后从下到上让第3个LinearLayout也高50dip - 然后让第二个LinearLayout填充其间的左边。我该怎么办?
这是我的XML:
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/linearLayout1"
android:orientation="vertical" >
<ViewFlipper
android:id="@+id/viewFlipper1"
android:layout_width="match_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/rain1" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/thunder1" />
</ViewFlipper>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/linearLayout2">
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:16)
在垂直线性布局中包裹所有三个布局,并在中间布局上使用“{3}”的“1”:
<LinearLayout
.
.
.
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
.
.
.
android:layout_height="50dip">
<LinearLayout
.
.
.
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
.
.
.
android:layout_height="50dip">
</LinearLayout>
答案 1 :(得分:1)
将LinearLayout转换为相对布局。定义元素的相对位置。你的问题会得到解决
或在线性布局中使用重量。为第二个线性布局定义权重1.0。对于顶部父布局,高度和宽度应为fill_parent
答案 2 :(得分:1)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dip"
android:background="#FF00FF"
android:id="@+id/first"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dip"
android:background="#0000FF"
android:id="@+id/last"
android:layout_alignParentBottom="true"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
android:layout_above="@id/last"
android:layout_below="@id/first"
>
<ViewFlipper
android:id="@+id/viewFlipper1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/rain1" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/thunder1" />
</ViewFlipper>
</LinearLayout>
</RelativeLayout>
答案 3 :(得分:0)
LinearLayout layout;
layout.addView(child, 2);
答案 4 :(得分:0)
尝试将第3个布局放在第2个布局之前
<Relativelayout>
<Linearlayout1>
<Linearlayout3>
<linearlayout2>
</Relativelayout>
答案 5 :(得分:0)
我没有在此代码中添加您的drawable,但我相信这应该可以解决您的问题:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/linearLayout1"
android:layout_above="@+id/linearLayout3"
android:orientation="vertical" >
<ViewFlipper
android:id="@+id/viewFlipper1"
android:layout_width="match_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
<ImageView
android:id="@+id/imageView2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</ViewFlipper>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true" >
</LinearLayout>
</RelativeLayout>