2012-01-17 56 views
26

在我的应用程序中,我使用了linearlayout,里面有3个EditText元素。现在我想增加Edittext元素之间的空间(填充)。可能吗?如何增加android中linearlayout中元素之间的空间?

+0

只是想指出,正确的答案是不接受“在Android中,如何......”但一个[即建议使用分频器](http://stackoverflow.com/a/18538656/923340),因为这给你一个地方给任何数量的孩子应用空间。 – 2014-10-14 08:57:32

回答

38

您应该设置布局保证金像下面,在你的EditText在.xml文件

android:layout_marginLeft="5dp" 

你能做到这一点的marginTop底部,右侧和左侧,取决于你的需求。您必须在布局元素上指定它,而不是在布局本身上。填充和Margin之间

差: - 填充有关内部视图的空间,及保证金是外视图或空间中的两个视图之间的空间中,

如果需要空间的外部视图中的任何一个方向,可以如上所述来实现。如果下面标签视图周围的所有侧所需的空间可能是有用的

android:layout_margin="5dp"

+1

谢谢你这么多..我真的好奇你的热情:) – Thiru 2012-01-17 09:20:11

+2

还有一件事,你问的是MARGIN,填充是编辑文本本身的一些文本空间。就像如果你在编辑文本中说padding_left,它会在写入文本之前开始一些空间。如果我的答案帮助请求接受它,那么 。 – AAnkit 2012-01-17 09:28:15

+0

添加锅炉板代码是一种不好的做法。你应该使用一个主题或平淡的drawable作为分隔符 – 2014-07-29 15:06:34

13

为了给出缘之间的字段可以在四个方向分配。

android:layout_margin="10dp"

你也可以用如下的不同方向..

android:layout_marginLeft = "10dp"

android:layout_marginRight = "10dp"

android:layout_marginTop = "10dp"

android:layout_marginBottom = "10dp"

+1

非常感谢:) – Thiru 2012-01-17 10:15:23

+0

'10dp'这是从哪里来的? – 2016-09-21 02:13:41

+0

@YoushaAleayoub它只是我保持的一个固定的距离。 – SilentKiller 2016-09-21 07:11:32

6

我想补充可以动态改变它太

int left = 6; 
int top = 12; 
int right = 6; 
int bottom = 6; 

TableRow.LayoutParams params = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
params.setMargins(left, top, right, bottom); 

EditText edXY = new EditText(inventory.this); 
edXY.setLayoutParams(params); 
+0

非常感谢你:) – Thiru 2012-01-17 10:15:34

43

基本上这是相对于你的边界,如果你想添加的边框内的元素之间的空间(即有边界触摸),你应该使用填充属性。

如果你想添加的边缘之外的空间(有边框分开),你应该使用margin属性。

检查这幅画的说明:从

enter image description here

+0

惊人的!多么明确的解释 – Thiru 2012-01-17 10:14:55

+0

很好的方法来理解边缘和填充新鲜的真实说法的例子! – duggu 2013-05-03 08:14:43

+0

一张好照片,但我也会移除内容和最后一个黑色边框的黑色边框。 – Zon 2017-07-26 12:41:23

相关问题