Bre*_*siu 6 android android-layout android-linearlayout layoutparams
我在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" />
Run Code Online (Sandbox Code Playgroud)
我想生成动态几个另一LinearLayouts并把他们的"进步" equaly间隔,例如:
每个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);
Run Code Online (Sandbox Code Playgroud)
当用户按下按钮时,将生成另一个LL,颜色不同.
我的方法不起作用.布局中没有背景颜色.
也许有另一种更简单的方法来实现某种进度条,颜色共享一些空间?
仔细检查getNextRandomColor返回的东西.-
getResources().getColor(colorResId);
Run Code Online (Sandbox Code Playgroud)
而不只是一个colorResId.如果是这样的话,你可以试试这个.-
prog.setBackgroundColor(getResources().getColor(CommonUtils.getNextRandomColor()));
Run Code Online (Sandbox Code Playgroud)
无论如何,如果您正在构建多色进度条,则应考虑更改单个布局的宽度,并使用渐变颜色.
小智 5
LinearLayout lp = new LinearLayout(context) ;
LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(width, height , .60f);
lp.setLayoutParams(layoutParams);
//for setting the background color // input your color
LinearLayout.setBackgroundColor(Color.parseColor("#000000"));
Run Code Online (Sandbox Code Playgroud)
或者
直接调用颜色
lp.setBackgroundColor(Color.WHITE);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11840 次 |
| 最近记录: |