我有一个带有framelayout的小部件。
有没有办法在运行时更改我的小部件颜色/形状?
我使用形状xml作为背景。
更新
我尝试过: 1, Paint paint=new Paint();
Bitmap bitmap=Bitmap.createBitmap(100, 100, Config.ARGB_8888);
Canvas canvas=new Canvas(bitmap);
paint.setColor(Color.RED);
canvas.drawRoundRect(new RectF(1,1,111,111), 10, 10, paint);
updateViews.setImageViewBitmap(R.id.FL, bitmap);
- >错误加载小部件
2,
updateViews.setImageViewResource(R.id.FL, R.drawable.blue);
- >错误加载小部件
答案 0 :(得分:1)
您可以尝试通过添加ImageView
来填充整个FrameLayout
,然后使用RemoteViews.setImageViewResource(int viewId, int srcId)
来制定解决方法。
答案 1 :(得分:0)
我假设您的小部件是TextView,并且您想将其颜色更改为白色。
首先,使用您在XML布局中指定的ID来获取对它的引用:
TextView textView = (TextView) findViewById(R.id.textViewId);
现在,您可以设置颜色:
textView.setBackgroundColorResource(R.color.white);
答案 2 :(得分:0)
对于颜色:
view.setBackgroundColor(Color.parseColor("#FFFFFF"));
对于形状或任何资源:
view.setBackgroundResource(R.drawable.my_shape);