0

android の UI の問題で助けが必要です。右下と左下の 2 つのボタンの上のすべてのスペースをテキスト ビューで埋めるアクティビティを作成しようとしています。 レイアウト

高さ/幅のパラメーターをハードコーディングしたくありませんが、% として定義したいと考えています。ボタンの高さを画面の高さの 10% に、テ​​キストビューを画面の高さの 90% にします。

したがって、ボタンの幅を Wrap_text として、テキストビューの幅を fill_parent として保持します。

以下は、現在持っているxmlファイルです。問題は高さの定義にあります。ボタンの高さを画面の高さの 10% に、テ​​キストビューの高さを画面の高さの 90% に指定するにはどうすればよいですか?

<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=".Activityclass" >

<TextView
 android:id="@+id/textView1"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:layout_above="@+id/button1" />

<Button
 android:id="@+id/button1"
 style="?android:attr/buttonStyleSmall"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentBottom="true"
 android:layout_alignParentLeft="true"
 android:background="@android:drawable/btn_default"
 android:text="<-prev" />

<Button
 android:id="@+id/button2"
 style="?android:attr/buttonStyleSmall"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentBottom="true"
 android:layout_alignParentRight="true"
 android:background="@android:drawable/btn_default"
 android:text="next->" />

どんな助けでも大歓迎です。

4

2 に答える 2

1

a を使用する場合LinearLayoutは、layout_weight属性を使用して、TextView左の利用可能な高さを塗りつぶすことができます。

<LinearLayout 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"
android:orientation="vertical"
tools:context=".Activityclass" >

<TextView
 android:id="@+id/textView1"
 android:layout_width="fill_parent"
 android:layout_height="0dp"
 android:layout_weight="1" />

<RelativeLayout
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 >

<Button
 android:id="@+id/button1"
 style="?android:attr/buttonStyleSmall"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentLeft="true"
 android:background="@android:drawable/btn_default"
 android:text="<-prev" />

<Button
 android:id="@+id/button2"
 style="?android:attr/buttonStyleSmall"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentRight="true"
 android:background="@android:drawable/btn_default"
 android:text="next->" />

</RelativeLayout>

</LinearLayout>

ビューにlayout_weight属性がある場合、システムは最初に属性のないビューの寸法を計算し、次に残りのスペースをそれらの間で分割します。レイアウトの重みを持つ各ビューlayout_weight/sum(all layout_weights)は、残りのスペースの一部を取得します。

于 2013-01-06T12:14:45.583 に答える
1

複数のビューのサイズ比をlayout_weight指定できます。

たとえば、マップに追加情報を表示する MapView とテーブルがあります。

地図は画面の 3/4 を使用し、テーブルは画面の 1/4 を使用する必要があります

次に、テーブルの と `layout_weight を 1 に設定しlayout_weightますmap to 3

それを機能させるには、次の設定も行う必要がありますheight or width (depending on your orientation) to 0px.

于 2013-01-06T12:16:02.680 に答える