ビューの layoutMarginBottom をピクセルではなく dp で設定したいのですがlayoutParams.bottomMargin = 90dp;、dp からピクセルへの変換式を試しましたが、すべての場合で同じように機能するとは限りません。デバイスの画面の密度によって値が異なることを意味します。その方法を教えてください。よろしくお願いします。
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   に答える