如何在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>
实现这一目标的正确方法是什么?是否有任何文档链接?
答案 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);