我在 xml 中有 LinearLayout:
<LinearLayout
android:id="@+id/progress"
android:layout_width="fill_parent"
android:layout_height="@dimen/progress_height"
android:layout_alignParentBottom="true"
android:baselineAligned="false"
android:orientation="horizontal" />
我想动态地生成一些其他的 LinearLayouts 并将它们以相等的间隔放置到“进度”中,例如:
- 第一个添加的 LinearLayout 将占据所有空间。
- 第二个LL将与1LL共享50%的空间
- 第三个 LL 将与 1LL 和 2LL 共享 33% 的空间
- 等等...
每个 LinearLayout 都会有随机的背景颜色,我写了这样的东西:
mProgress = (LinearLayout) findViewById(R.id.progress);
.
.
.
LinearLayout prog = new LinearLayout(this);
prog.setBackgroundColor(CommonUtils.getNextRandomColor());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT, 1.0f);
prog.setLayoutParams(params);
mProgress.addView(prog);
当用户按下按钮时,将生成另一个具有不同颜色的 LL。
我的方法不起作用。布局中没有背景颜色。
也许还有另一种更简单的方法来实现某种颜色平均共享一些空间的进度条?