19

Androidでマージンを崩すことはできますか? a があり、それぞれにof があるLinearLayout3 つの を追加するとします。次の結果が得られます。TextViewandroid:layout_margin10dp

実結果

ただし、この結果を取得したいと思います。

期待される結果

さまざまなアイテムにさまざまな上下の余白を設定することで、これを回避できることを私は知っています。

  • 最初のアイテムの上余白と最後のアイテムの下余白を 10 dp に設定し、
  • 残りの上下マージンを 5 dp に設定し、

しかし、それは設計をより複雑にします (特に TextView が動的に作成される場合)。マージンを CSS のように動作させる方法はありますか? (これが理にかなっている理由の説明については、次を参照してください: CSS がマージンを折りたたむポイントは何ですか? )

4

2 に答える 2

16

これを自分で修正するために私が通常行うことは、ビュー (つまり、TextView) のマージンを半分に切り、同じ数を含む ViewGroup (つまり、LinearLayout) にパディングとして追加することです。このようにして、すべてのアイテムの周りに均等な間隔ができます。例えば:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="5dip"
    >
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dip"
        android:text="I'm a TextView!"
        />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dip"
        android:text="I'm a TextView!"
        />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dip"
        android:text="I'm a TextView!"
        />
</LinearLayout>
于 2012-07-31T18:54:39.793 に答える