7

2 つの画像を含む内部相対レイアウトがあり、android:layout_marginRight 属性を設定しても何もしません。

これが私のコードです:

<RelativeLayout
    android:id="@+id/location_image_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="80dp" />

    <ImageView
        android:layout_width="69.33dp"
        android:layout_height="72dp"
        android:background="@drawable/icon"
        android:layout_centerInParent="true" />

</RelativeLayout>
4

5 に答える 5

24

問題は、レイアウトのプロパティにありますandroid:layout_width。に設定すると は動作しませんが、 に設定した場合のみ"wrap_content"が動作します。android:layout_marginRight"fill_parent"android:layout_marginRight

于 2012-10-30T04:34:16.143 に答える
1

あなたはそれが起こっている理由である次のものを使用しました

android:layout_alignParentRight="true"

この線を削除するだけで、imageviewの右側からマージンが得られます。

于 2012-10-28T14:32:45.600 に答える
1
<LinearLayout
    android:id="@+id/location_image_layout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:orientation="vertical" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="80dp" />

    <ImageView
        android:layout_width="69.33dp"
        android:layout_height="72dp"
        android:background="@drawable/icone"
        android:layout_centerInParent="true" />

</LinearLayout>

これを試して。それは私のために働き、あなたが望むものと正確です

于 2012-10-28T18:10:29.907 に答える
1
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    ...
/>

親の RelativeLayout の layout_width を「match_parent」に変更すると、同じ問題が発生します。それがあなたにとってもうまくいくことを願っています。

于 2013-05-22T03:28:00.330 に答える
-4

レイアウトに Margin を適用するには、RelativeLayout の代わりに LinerarLayout を使用してみてください。

于 2012-10-29T05:14:25.750 に答える