在Android中,如何在LinearLayout子项之间创建空间?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (9)

我正在编程添加自定义视图到一个垂直的LinearLayout,我希望有一些空间之间的意见。我尝试添加:setPadding(0,1,0,1)到我的CustomView构造函数,但这似乎没有任何效果。有什么建议?

我的代码如下:

public class MyView extends View
{
    public MyView (Context context)
    {
        super(context);

        MarginLayoutParams params = new MarginLayoutParams(LayoutParams.WRAP_CONTENT,  LayoutParams.WRAP_CONTENT);
        params.setMargins(0, 10, 0, 10);
        setLayoutParams(params);

我也尝试使用MarginLayoutParams作为参数,同时将视图添加到线性布局(如下所示)。这也不起作用:

MarginLayoutParams params = new MarginLayoutParams(linearLayout.getLayoutParams());
linearLayout.setMargins(0, 10, 0, 10);
linearLayout.addView(view, params);
提问于
用户回答回答于

你应该在子类中使用:android:layout_margin<Side>,而且填充需要是内部的。

用户回答回答于

你可以将填充整合到分隔符中。如果你没有使用,只需创建一个高大的空白绘图并将其设置为LinearLayout分隔符:

    <LinearLayout
            android:showDividers="middle"
            android:divider="@drawable/empty_tall_divider"
...>...</LinearLayout>

empty_tall_divider.xml:

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <size
            android:height="40dp"
            android:width="0dp"/>
</shape>

扫码关注云+社区