以编程方式创建和设置 LinearLayout 分隔线
Programmatically creating and setting LinearLayout divider
我有一个水平 LinearLayout
,我想在其 child 视图之间有 50 个空白像素 space。经过一些研究,我发现分隔线可以完成这项工作。我不想使用 XML,而是以编程方式创建所有内容。这是我的代码:
LinearLayout parent = new LinearLayout(getContext());
parent.setOrientation(LinearLayout.HORIZONTAL);
ColorDrawable divider = new ColorDrawable(Color.TRANSPARENT);
divider.setBounds(0, 0, 50, 0);
parent.setDividerDrawable(divider);
parent.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
....children are added here to parent...
不幸的是,它不起作用。 children.
之间没有空格space
有人知道那里出了什么问题吗?
回答我自己的问题,ColorDrawable
是罪魁祸首。当使用 ShapeDrawable
相反它工作正常,即像这样:
LinearLayout parent = new LinearLayout(getContext());
parent.setOrientation(LinearLayout.HORIZONTAL);
ShapeDrawable divider = new ShapeDrawable();
divider.setIntrinsicWidth(50);
divider.setAlpha(0);
parent.setDividerDrawable(divider);
parent.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
我有一个水平 LinearLayout
,我想在其 child 视图之间有 50 个空白像素 space。经过一些研究,我发现分隔线可以完成这项工作。我不想使用 XML,而是以编程方式创建所有内容。这是我的代码:
LinearLayout parent = new LinearLayout(getContext());
parent.setOrientation(LinearLayout.HORIZONTAL);
ColorDrawable divider = new ColorDrawable(Color.TRANSPARENT);
divider.setBounds(0, 0, 50, 0);
parent.setDividerDrawable(divider);
parent.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
....children are added here to parent...
不幸的是,它不起作用。 children.
之间没有空格space有人知道那里出了什么问题吗?
回答我自己的问题,ColorDrawable
是罪魁祸首。当使用 ShapeDrawable
相反它工作正常,即像这样:
LinearLayout parent = new LinearLayout(getContext());
parent.setOrientation(LinearLayout.HORIZONTAL);
ShapeDrawable divider = new ShapeDrawable();
divider.setIntrinsicWidth(50);
divider.setAlpha(0);
parent.setDividerDrawable(divider);
parent.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);