如何使两种不同的布局具有相同的高度?

时间:2011-11-28 12:05:58

标签: android android-layout android-layout-weight

在我的应用程序XML布局中,我有一个Relativelayout,其中有两个线性布局。现在我正在为这两种布局做动画。但是因为thera似乎高度不同,所以我得到了一些观点问题。

所以我想要使两种布局的高度相同。下面是我的XML文件。

<!-- ============================================================= -->
            <!-- BOTTLE / PEN LAYOUT -->
            <!-- ============================================================= -->
            <LinearLayout android:layout_height="wrap_content"
                android:layout_width="fill_parent" >

                <RelativeLayout android:layout_height="wrap_content"
                    android:layout_width="fill_parent">
                    <!-- ============================================================= -->
                    <!-- PEN LAYOUT -->
                    <!-- ============================================================= -->
                    <LinearLayout android:orientation="vertical"
                        android:layout_height="wrap_content"
                        android:layout_width="fill_parent"
                        android:id="@+id/pen_layout">

                        <TextView
                            android:text="EF"
                            android:layout_height="wrap_content"
                            android:layout_width="wrap_content"
                            android:layout_gravity="center"
                            android:textColor="#000000"
                            android:layout_marginTop="2dp"
                            android:textSize="10sp"/>

                        <ImageView                 
                            android:id="@+id/save"                 
                            android:layout_width="wrap_content"                 
                            android:layout_height="wrap_content"
                            android:layout_gravity="right"   
                            android:src="@drawable/ink_pen"/>             

                        <TextView
                            android:text="F"
                            android:layout_height="wrap_content"
                            android:layout_width="wrap_content"
                            android:layout_gravity="center"
                            android:textColor="#000000"
                            android:layout_marginTop="2dp"
                            android:textSize="10sp"/>
                        <ImageView                 
                            android:id="@+id/save"                 
                            android:layout_width="wrap_content"                 
                            android:layout_height="wrap_content"
                            android:layout_gravity="right"   
                            android:src="@drawable/ink_pen"/>             

                        <TextView
                            android:text="BOLD"
                            android:layout_height="wrap_content"
                            android:layout_width="wrap_content"
                            android:layout_gravity="center"
                            android:textColor="#000000"
                            android:layout_marginTop="2dp"
                            android:textSize="10sp"/>
                        <ImageView                 
                            android:id="@+id/save"                 
                            android:layout_width="wrap_content"                 
                            android:layout_height="wrap_content"
                            android:layout_gravity="right"   
                            android:src="@drawable/ink_pen"/>             

                        <TextView
                            android:text="ITALIC"
                            android:layout_height="wrap_content"
                            android:layout_width="wrap_content"
                            android:layout_gravity="center"
                            android:textColor="#000000"
                            android:layout_marginTop="2dp"
                            android:textSize="10sp"/>
                        <ImageView                 
                            android:id="@+id/save"                 
                            android:layout_width="wrap_content"                 
                            android:layout_height="wrap_content"
                            android:layout_gravity="right"   
                            android:src="@drawable/ink_pen"/>

                    </LinearLayout> 

                    <!-- ============================================================= -->
                    <!-- BOTTLE LAYOUT -->
                    <!-- ============================================================= -->

                    <LinearLayout android:orientation="vertical"
                        android:layout_height="wrap_content"
                        android:layout_width="fill_parent"
                        android:weightSum="4" 
                        android:id="@+id/bottle_layout">

                        <!-- First Row Bottle -->
                        <LinearLayout android:orientation="horizontal"
                            android:layout_height="wrap_content" android:layout_weight="1"
                            android:layout_width="fill_parent" android:weightSum="2">
                            <ImageView android:layout_height="wrap_content" android:layout_weight="1"
                                android:layout_width="wrap_content" android:src="@drawable/purple_bottle"/>
                            <ImageView android:layout_height="wrap_content" android:layout_weight="1"
                                android:layout_width="wrap_content" android:src="@drawable/red_bottle"/>
                        </LinearLayout>

                        <!-- Second Row Bottle -->              
                        <LinearLayout android:orientation="horizontal"
                            android:layout_height="wrap_content" android:layout_weight="1"
                            android:layout_width="fill_parent" android:weightSum="2">
                            <ImageView android:layout_height="wrap_content" android:layout_weight="1"
                                android:layout_width="wrap_content" android:src="@drawable/gray_bottle"/>
                            <ImageView android:layout_height="wrap_content" android:layout_weight="1"
                                android:layout_width="wrap_content" android:src="@drawable/green_bottle"/>
                        </LinearLayout>

                        <!-- Third Row Bottle -->               
                        <LinearLayout android:orientation="horizontal"
                            android:layout_height="wrap_content" android:layout_weight="1"
                                android:layout_width="fill_parent" android:weightSum="2">
                            <ImageView android:layout_height="wrap_content" android:layout_weight="1"
                                android:layout_width="wrap_content" android:src="@drawable/orange_bottle"/>
                            <ImageView android:layout_height="wrap_content" android:layout_weight="1"
                                android:layout_width="wrap_content" android:src="@drawable/blue_bottle"/>
                        </LinearLayout>

                        <!-- Forth Row Bottle -->               
                        <LinearLayout android:orientation="horizontal"
                            android:layout_height="wrap_content" android:layout_weight="1"
                            android:layout_width="fill_parent" android:weightSum="2">
                            <ImageView android:layout_height="wrap_content" android:layout_weight="1"
                                android:layout_width="wrap_content" android:src="@drawable/black_bottle"/>
                            <ImageView android:layout_height="wrap_content" android:layout_weight="1"
                                android:layout_width="wrap_content" android:src="@drawable/white_bottle"/>
                        </LinearLayout>

                    </LinearLayout>
                </RelativeLayout>
            </LinearLayout>

1 个答案:

答案 0 :(得分:1)

删除包含RelativeLayout(因为它是您根本不需要它的根LinearLayout的唯一子项)或将其更改为LinearLayout。

然后对于Pen布局和瓶子布局,添加属性android:layout_weight并将它们都设置为1.

确保两个布局的高度都设置为MATCH_PARENT

现在你的两个布局应该在它们之间平均分配空间,从而使它们具有相同的高度。

为了在Pen和Bottle布局的子项之间平均分配空间,我建议您将每个子项的高度设置为WRAP_CONTENT,将每个子项的layout_weight设置为1.