線形レイアウトのセットを使用してレイアウトを作成する必要があります。レイアウトは、画面の定義された割合を占める必要があります。すべてのデバイスで同じように見えるようにするには、これを行う必要があります。
右上のレイアウト(緑色のボックス)にテキストビューがあります。テキストビューにデータを追加すると、下の2番目の画像に示すようにレイアウト全体が乱れます。ただし、画面/レイアウトの右端に到達したときにデータを自動的に折り返す必要があります。
これを解決するのを手伝ってください。前もって感謝します
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:background="@drawable/background"
Android:orientation="vertical"
Android:weightSum="100">
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="horizontal"
Android:layout_weight="91"
Android:weightSum="100">
<LinearLayout
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:orientation="vertical"
Android:layout_weight="40"
Android:weightSum="235">
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical"
Android:gravity="center"
Android:background="#ff0000"
Android:layout_weight="100">
<TextView
Android:id="@+id/textView1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:textColor="#000000" />
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical"
Android:background="#ffff00"
Android:layout_weight="45">
<ViewFlipper
Android:id="@+id/view_flipper"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_below="@+id/tvItemName" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical" >
</LinearLayout>
</ViewFlipper>
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical"
Android:background="#ffffff"
Android:layout_weight="90">
</LinearLayout>
</LinearLayout>
<LinearLayout
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:orientation="vertical"
Android:layout_weight="60"
Android:weightSum="100">
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical"
Android:layout_weight="30"
Android:background="#00ab00"
Android:weightSum="100">
<TextView
Android:id="@+id/textView1"
Android:layout_width="match_parent"
Android:layout_height="fill_parent"
Android:textColor="#000000"
Android:text="Test data" />
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical"
Android:background="#cd00ab"
Android:layout_weight="70">
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="#ab0000"
Android:layout_weight="9">
</LinearLayout>
</LinearLayout>
このXMLファイルを使用してください。私はあなたのために変更を加えました。
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:background="@drawable/background"
Android:orientation="vertical"
Android:weightSum="100" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_weight="91"
Android:orientation="horizontal"
Android:weightSum="100" >
<!-- Below is the first modification to layout_width -->
<LinearLayout
Android:layout_width="0dp"
Android:layout_height="match_parent"
Android:layout_weight="40"
Android:orientation="vertical"
Android:weightSum="235" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_weight="100"
Android:background="#ff0000"
Android:gravity="center"
Android:orientation="vertical" >
<TextView
Android:id="@+id/textView1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:textColor="#000000" />
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_weight="45"
Android:background="#ffff00"
Android:orientation="vertical" >
<ViewFlipper
Android:id="@+id/view_flipper"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_below="@+id/tvItemName" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical" >
</LinearLayout>
</ViewFlipper>
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_weight="90"
Android:background="#ffffff"
Android:orientation="vertical" >
</LinearLayout>
</LinearLayout>
<!-- Below is the second modification to layout_width -->
<LinearLayout
Android:layout_width="0dp"
Android:layout_height="match_parent"
Android:layout_weight="60"
Android:orientation="vertical"
Android:weightSum="100" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_weight="30"
Android:background="#00ab00"
Android:orientation="vertical"
Android:weightSum="100" >
<TextView
Android:id="@+id/textView1"
Android:layout_width="match_parent"
Android:layout_height="fill_parent"
Android:text="Test data Test dataTest dataTest dataTest dataTest dataTest dataTest dataTest dataTest dataTest dataTest dataTest dataTest dataTest dataTest dataTest dataTest dataTest data"
Android:textColor="#000000" />
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_weight="70"
Android:background="#cd00ab"
Android:orientation="vertical" >
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_weight="9"
Android:background="#ab0000" >
</LinearLayout>
</LinearLayout>
それは私にはうまく見えます。以下のスナップショットをご覧ください。
layout_width
またはlayout_height
をwrap_content
ではなく0dpとして開始します。 (垂直レイアウトの場合、layout_height
は0dpである必要があります。水平レイアウトの場合、layout_width
は0dpである必要があります)
layout_weight
は、残りスペース後layout_width
s/layout_height
sが割り当てられていることを分割する方法を説明します。
wrap_content
は「テキストを折り返す」という意味ではないことに注意してください。これは、そのディメンションをビューの「優先」ディメンションに設定することを意味します。