Android の LinearLayout と重みに問題があります。水平方向の LinearLayout に、2 つの垂直方向の LinearLayouts の間の区切りとなる 9 パッチの背景を持つ単一のビューで区切られた 2 つの垂直方向の LinearLayouts を保持する必要があります。
このように: (外側のボックスは外側の LinearLayout で、中央の二重線は私の 9 パッチ区切りです。)
----------------------------
| one || three |
| two || four |
----------------------------
発生し続けるのは、最初の内部 LinearLayout がそのコンテンツを表示するための最小幅で表示され (幅wrap_content
が 2 番目の内側の LinearLayout はまったく表示されません。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal"
android:layout_weight="1" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="one" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="two" />
</LinearLayout>
<View
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/divider_vertical"
android:layout_weight="0" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal"
android:layout_weight="1" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="three" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="four" />
</LinearLayout>
</LinearLayout>
ここで何が間違っていますか?中央のビューがすべてのスペースを占有し、2番目の内側のLinearLayoutに何も残さない理由を、私の人生では理解できません。
9 パッチ ビューに特定の px または dp 幅を指定すると動作するようになりますが、この幅を指定しなくても動作するようにしたいのです。そうすれば、9 パッチのドローアブルを変更することにした場合でも、幅を手動で更新する必要はありません。