編集:固定マージンに関して、すでに 2 つの包括的な回答を受け取りました。ウェイトマージンの代わりに固定マージンを使用することに完全に決定しましたが、元の質問は未解決のままです。
Androidで次のデザインを取得しようとしています:
水平方向のスペースの約 10% を左/右の余白として残し、背景を含むもの (TextViews、EditViews など) の中心に配置された垂直方向のリスト。
私が試したことが機能しなかった/部分的に機能した:
- LinearLayout、垂直、トップレベル レイアウトとして。重力が「中央」に設定されている場合、背景はレイアウトのサイズに制限されます。また、この方法でパーセンテージ マージン (幅) を設定するにはどうすればよいでしょうか。
- RelativeLayout の LinearLayout: 背景が機能し、水平方向のセンタリングが機能し、重みが存在しません。
- LinearLayout 上の LinearLayout: バックグラウンドが機能し、ウェイトが機能し、水平方向のセンタリングにより、使用可能なすべてのスペースが右側に押し出されます。
(最後の 2 つのケースでは、私の Eclipse も、レイアウトの 1 つが冗長であると不平を言っています。)
これは原則に関連した質問であると考えて、コードを投稿していません。これを達成する(最良の)方法は何ですか?
ありがとうございました。
テスト ケースの最後のものに対応する XML:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:baselineAligned="false"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1.0"
android:weightSum="1.0"
android:background="#013c57" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.9"
android:layout_gravity="center"
android:orientation="vertical" >
<!-- Stuff -->
</LinearLayout>
</LinearLayout>