如何在视图中添加填充?

时间:2016-08-25 07:54:07

标签: android

我正在尝试在我的应用程序中将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的左侧和右侧设置空格,以便分隔符小于屏幕?

提前致谢!

3 个答案:

答案 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