Как программно изменить цвет фигуры для виджета рабочего стола - PullRequest
0 голосов
/ 06 марта 2020

Я хочу, чтобы мой виджет рабочего стола был прямоугольником с углами, чтобы у меня была нарисованная форма. Однако цвет solid необходимо изменить при нажатии кнопки, чтобы он соответствовал цвету моего текста. Я могу изменить цвет фона моего текста следующим образом:

RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);

backgroundColor = colors[mCounter];
views.setInt(R.id.appwidget_text, "setBackgroundColor", backgroundColor);

Я попробовал следующее, но безуспешно:

views.setInt(R.drawable.layout_bg, "setBackgroundColor", backgroundColor);

Я также попытался изменить backgroundTint моего виджета, и следующее:

views.setInt(R.id.appwidget_layout, "setBackgroundTint", backgroundColor);

Это тоже ничего не делает.

Есть ли решение?

1 Ответ

0 голосов
/ 06 марта 2020
int[] color = new int[2];
color[0] = Color.parseColor("#000000");
color[1] = Color.parseColor("#000000");

View view = new RelativeLayout(this);
GradientDrawable drawable = (GradientDrawable) view.getBackground();

drawable.setColors(color);

попробуйте это. для вашей проблемы

int[] color = new int[2];
color[0] = Color.parseColor("#000000");
color[1] = Color.parseColor("#000000");
GradientDrawable drawable = (GradientDrawable) views.getBackground();
drawable.setColors(color);

надеюсь, это поможет. :)

...