2

在我的应用程序中,我对某些视图使用 setMargins(....) 方法。

在我的布局中,我用“dp”而不是像素来固定视图的宽度、高度和大小,

在我的代码中,当我设置 Margins 时,结果很糟糕,但是当我在布局中用 px 更改 dp 时,效果很好。

所以我的问题是:我可以用 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 回答