2013-12-10 177 views
0

如何在android中單獨設置佈局邊距?
示例案例:我希望爲上邊距:15,右:12,底部:13,左:16Android設置邊距和填充

如何在Android?
我有背景,web開發人員,我雖然會一樣,像這樣margin: 15 12 13 16;設置CSS,但似乎它不與Android

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

</resources> 

什麼是實現這一正確的方式工作?有沒有文件的任何鏈接?

回答

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); 
+1

我認爲你可以閱讀這個答案:http://stackoverflow.com/a/3002321/2668136和這個答案將有助於:http://stackoverflow.com/a/6327095/2668136 /享受。 – Fllo

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"/> 
+0

@fix感謝,沒有任何捷徑,所以我可以只使用1行代碼,而不是四個,它定義每個保證金?我想讓我的代碼儘可能短 – GusDeCooL

+2

@GusDeCooL除非你想讓每個值相同,否則你不能。 – panini

+0

@panini我明白了。所以這是我們現在最好的。希望Android開發人員會在下一個版本中考慮這一點@ _ @ – GusDeCooL