34

LinearLayoutListView の行ビューとして単一のレイヤーを提供するだけでは、そのマージンは無視されるのではないかと思っていました。

ListView の行ビューを使用する場合、マージンは無視されます

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="5dp"

ただし、LinearLayout最初のレイヤーが「ダミー」レイヤーとして機能する2つのレイヤーを提供すると、そのマージンは無視されません。

ListView の行ビューに余白があります

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/buyPortfolioLinearLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="5dp"

どうしてこうなったか分かるかな?

4

3 に答える 3

1

単一のレイアウトを使用する場合、マージンを適用すると、これがウィンドウであることを意味し、親ビューからその量のマージンを要求しますが、親ビューがないため、マージンは機能しません。2 番目に親ビューがあり、マージンは内部ビューには役立ちますが、外部ビューには役立ちません。

于 2013-04-29T12:42:33.093 に答える
-1

ネストされたレイアウトを追加する代わりに、次のようにパディングを使用できます。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="5dp"
于 2014-08-11T18:17:05.323 に答える