今日、私はLinearLayoutで少し遊んでいて、その結果に驚いています。
<?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" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Big Text"
android:gravity="center_vertical|center_horizontal"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="Button"
/>
</LinearLayout>
これは、テキストビューヘッダー、次にすべての親(ただし、下のボタンが占めるスペース)をカバーするテキストビュー、およびレイアウト_gravity="bottom"でボタン側に配置されるボタンを含む単純なレイアウトです。 。
これにより、ヘッダーが正しく表示され、中央のテキストビューが残りのすべての空き領域をカバーし、ボタンが表示されないレイアウトが作成されます。どうしてこれなの?中央のテキストビューは、下のボタンのサイズを考慮してサイズを計算するだけではいけませんか?