希望有人可以提供帮助。不知道这是否可能,但是可以。
我有一个包含单个按钮的Android小部件。我想以编程方式将drawable设置为背景。例如,在标准活动中,我可能会做...
Button mybutton = (Button) findViewById(R.id.abutton);
GradientDrawable gd = new GradientDrawable();
gd.setCornerRadius(45);
gd.setColor(Color.parseColor("#FFFFFF));
mybutton.setBackground(gd);
我要这样做的原因是,以编程方式将小部件按钮的颜色更改为用户选择的颜色,同时还要保持按钮的圆角,如上面的可绘制对象所定义。
我已经确定可以像这样更改小部件按钮的颜色。
RemoteViews views;
views = new RemoteViews(context.getPackageName(), R.layout.mylayout);
views.setInt(R.id.widgetbutton,"setBackgroundColor", Color.parseColor(widgethexcolor));
但是这会将按钮重置为默认的矩形形状,而没有圆角,因此我希望将其设置为可绘制的。
有什么想法吗?
谢谢!
自然
答案 0 :(得分:0)
您可以通过调用Drawable.setColorFilter(int color, PorterDuff.Mode mode)
或Drawable.setColorFilter(ColorFilter colorFilter)
来更改颜色。我认为这种方法可以防止您遗失圆角。