如何用两个相等的LinearLayout分割屏幕?

想要用两个LinearLayouts为我的应用程序分割一个屏幕。 我应该使用什么参数来精确分割两个相等的部分 – 第一个是LinearLayout,第二个是在它的下面。

使用重量参数,粗略布局将如下所示:

<LinearLayout android:orientation="horizontal" android:layout_height="fill_parent" android:layout_width="fill_parent"> <LinearLayout android:layout_weight="1" android:layout_height="fill_parent" android:layout_width="0dp"/> <LinearLayout android:layout_weight="1" android:layout_height="fill_parent" android:layout_width="0dp"/> </LinearLayout> 

4-5年后我回答了这个问题,但最佳做法如下

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <LinearLayout android:id="@+id/firstLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_toLeftOf="@+id/secondView" android:orientation="vertical"></LinearLayout> <View android:id="@+id/secondView" android:layout_width="0dp" android:layout_height="match_parent" android:layout_centerHorizontal="true" /> <LinearLayout android:id="@+id/thirdLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_toRightOf="@+id/secondView" android:orientation="vertical"></LinearLayout> </RelativeLayout> 

这是正确的做法,因为对于UI操作, layout_weight的使用总是很重。 使用LinearLayout同等分割Layout不是一个好习惯

只是把它放在那里:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF0000" android:weightSum="4" android:padding="5dp"> <!-- to show what the parent is --> <LinearLayout android:background="#0000FF" android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="2" /> <LinearLayout android:background="#00FF00" android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="1" /> </LinearLayout>