我想在 dp 中设置视图的 layoutMarginBottom 即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 回答