我正在尝试在我的应用程序中将View
作为分隔符来分隔两个元素(两个按钮,两个TextView或其他),我想在左边和右边有一个填充View
(将背景移动到左侧和右侧的一些空间)。
它允许您设置填充,但View
仍然继续占据整个宽度屏幕。这是我的代码:
<View
android:layout_width="wrap_content"
android:layout_height="0.5dp"
android:background="#FFFFFF"
android:paddingLeft="10dp"
android:paddingRight="10dp"/>
如何在View
的左侧和右侧设置空格,以便分隔符小于屏幕?
提前致谢!
答案 0 :(得分:1)
使用边距而不是填充
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
答案 1 :(得分:1)
Padding负责内部空间。因此,您可以使用填充来增加视图轮廓与其中元素之间的空间,无论它们是按钮,文本视图等。
保证金负责外太空。您可以使用它来增加视图轮廓和包含它的元素之间的空间。因此你需要什么。要在视图中实现此功能,请使用以下命令:
private void setMargins (View view, int left, int top, int right, int bottom) {
if (view.getLayoutParams() instanceof ViewGroup.MarginLayoutParams) {
ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) view.getLayoutParams();
p.setMargins(left, top, right, bottom);
view.requestLayout();
}
}
希望这会有所帮助:)
答案 2 :(得分:0)
最后我明白了。与Android documentation
一样,它说:即使视图可以定义填充,它也不提供对边距的任何支持,我无法使用marginLeft
或{{1属性。
如果您尝试直接设置marginRight
,则会收到以下错误:
在'android'包中找不到属性'marginLeft'的资源标识符
尽管如此,您可以使用android:marginLeft="10dp"
和android:layout_marginLeft="10dp"
来获得所需的结果。
最终android:layout_marginRight="10dp"
xml将如下所示:
View