Android设置保证金&填充

时间:2013-12-10 03:20:27

标签: android

如何在android中单独设置布局边距?
示例案例:我想要顶部的边距:15,右边:12,底部:13,左边:16

如何在android?中 我有web开发人员的背景,虽然它会像css一样使用像margin: 15 12 13 16;这样的设置,但似乎它不适用于android

<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_margin">15dp 12dp 13dp 16dp</dimen>

</resources>

实现这一目标的正确方法是什么?是否有任何文档链接?

2 个答案:

答案 0 :(得分:2)

使用单独的尺寸:

<dimen name="activity_margin_left">15dp</dimen>
<dimen name="activity_margin_right">13dp</dimen>
<dimen name="activity_margin_top">12dp</dimen>
<dimen name="activity_margin_bottom">16dp</dimen>

您可能需要更改值,我不知道css维数的顺序。

然后将它们应用于您的布局:

<LinearLayout ....
    android:layout_marginLeft="@dimen/activity_margin_left"
    android:layout_marginRight="@dimen/activity_margin_right"
    android:layout_marginTop="@dimen/activity_margin_top"
    android:layout_marginBottim="@dimen/activity_margin_bottom"/>

答案 1 :(得分:2)

你可以用两种方式做到这一点。首先,在layout中你不能像CSS那样设置它。你需要设置:

android:layout_marginLeft="15dp"
android:layout_marginTop="15dp"
android:layout_marginRight="15dp"
android:layout_marginBottom="15dp"  

其次,以编程方式如下:

// initiate your margins value in dp
(int) (px / getResources().getDisplayMetrics().density);

// and set these value in setMargin method
LayoutParams params = new LayoutParams(
    LayoutParams.WRAP_CONTENT,      
    LayoutParams.WRAP_CONTENT
);
params.setMargins(left, top, right, bottom);
yourLayout.setLayoutParams(params);  
相关问题