Android在运行时更新小部件颜色UPDATED

时间:2011-10-27 18:09:34

标签: android

我有一个带有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);

- >错误加载小部件

3 个答案:

答案 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);