ビューの layoutMarginBottom をピクセルではなく dp で設定したいのですがlayoutParams.bottomMargin = 90dp;
、dp からピクセルへの変換式を試しましたが、すべての場合で同じように機能するとは限りません。デバイスの画面の密度によって値が異なることを意味します。その方法を教えてください。よろしくお願いします。
質問する
63 次
2 に答える
2
このように設定できます。ここでは、レイアウト マージンを動的に配置しています。
layoutparams.setMargins((int) getResources().getDimension(R.dimen.margin), 0,
(int) getResources().getDimension(R.dimen.margin), 0);
最初にそれらの値をdimensions.xml
ファイルに保存しますvalues folder
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="margin">8dp</dimen>
</resources>
于 2012-09-29T09:44:27.590 に答える
2
次の方法を使用します。
float marginPixels = TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 90, getResources().getDisplayMetrics());
于 2012-09-29T09:45:26.280 に答える