帮助:View.setMargins(左,上,右,下);

时间:2011-05-18 08:52:37

标签: android android-ui margins

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

在我的布局中,我使用'dp'修正了我的视图的宽度,高度和大小,而不是像素,

在我的代码中,当我设置边距时,它会产生不好的结果,但是当我在布局中使用px更改dp时,这样可以正常工作。

所以我的问题是:我可以用dp值设置边距吗?  例如:

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

提前致谢

2 个答案:

答案 0 :(得分: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 ) ;  

答案 1 :(得分:1)

或者你可以看看这个答案: Margins of a LinearLayout, programmatically with dp