2つのLinearLayoutsでアプリの画面を分割したい。 2つの等しい部分に正確に分割するために、どのパラメーターを使用する必要があります。最初のLinearLayoutは上部にあり、2番目はそのすぐ下にあります。
使用 layout_weight
属性。レイアウトはおおよそ次のようになります。
<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>
layout_weightの使用はUI操作では常に重いため、これは正しいアプローチです。 LinearLayoutを使用してレイアウトを均等に分割することはお勧めできません
そこに置くだけ:
<?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>
UIを2つの等しい部分に分割するために、親LinearLayoutで2のweightSumを使用して割り当てlayout_weight次のようにそれぞれ1
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="horizontal"
Android:weightSum="2">
<LinearLayout
Android:layout_width="0dp"
Android:layout_height="match_parent"
Android:layout_weight="1"
Android:orientation="vertical">
</LinearLayout>
<LinearLayout
Android:layout_width="0dp"
Android:layout_height="match_parent"
Android:layout_weight="1"
Android:orientation="vertical">
</LinearLayout>
</LinearLayout>