2

私のアプリケーションでは、いくつかのビューに setMargins(....) メソッドを使用しています。

私のレイアウトでは、ビューの幅、高さ、サイズをピクセルではなく「dp」で修正しました。

私のコードでは、マージンを設定すると悪い結果が得られますが、レイアウトで dp を px に変更すると、うまくいきます。

私の質問は次のとおりです。マージンをdp値で設定できますか?? 例 :

myView.setMargins(left in dp , top in dp , right in dp , bottom in dp ) ; 

前もって感謝します

4

1 に答える 1

7

Dimension 要素 (strings.xml の値) を定義し、それらをコードで参照するだけで、簡単に実行できます。

これはstrings.xmlの行です

<dimen name="left_border_distance">32dip</dimen>

ただし、IDE 経由ではなく、直接配置する必要はありません。

次に、コードで

int marginLeft = (int) getResources().getDimensionPixelSize(R.dimen.left_border_distance);
myView.setMargins(marginLeft  , top in dp , right in dp , bottom in dp ) ;  
于 2011-05-18T08:56:03.670 に答える