2012-04-30 7 views
9

私は、次のレイアウトファイルがあります:エミュレータ上wrap_contentを使用しているときにlayout_marginBottomが無視されるのはなぜですか?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="#FF0000" > 

<RelativeLayout 
    android:id="@+id/usericon_img" 
    android:layout_width="73.3334dp" 
    android:layout_height="70.6667dp" 
    android:layout_marginBottom="2.6667dp" 
    android:layout_marginLeft="3.3334dp" 
    android:layout_marginTop="2.6667dp" 
    android:background="#FFFFFF" /> 
</RelativeLayout> 

(私は実際のデバイス上でそれをテストしてみたし、それが同じに見える)レイアウトは次のようになります。enter image description here

私の質問は次のとおりです。なぜ私は白いレイアウトの下に赤いマージンがないのですか?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="76dp" 
android:background="#FF0000" > 

私は欲しいものを手に入れますが、なぜwrap_contentが正しく動作しないのでしょうか? documentation

答えて

6

その寸法を測定するために、ビューのアカウントにそのパディングをとります。

私が間違っていなければ、それは余裕が次元に加えられないことを意味します。つまり、wrap_contentは正しく動作しますが、マージンは考慮されません。

ちょっとした質問:なぜ70.6667dpのような値を使用しますか?

+0

私は706667を使用しました。なぜなら、hdpiスクリーン上に106ピクセルの寸法が必要だからです。 – Toorop

+0

余白を無視すると、余白が残っているのはなぜですか? – Toorop

+1

代わりにパディングを使用してみてください – Ahmad

関連する問題