Android-виджет: изменение фона виджета приложения на лету

1

Я пытаюсь изменить цвет фона виджета приложения "на лету" на какое-то время, без успеха.

Я нашел одно решение (http://stackoverflow.com/questions/2726295/android-changing-lingleayout-in-a-widget), которое мы использовали.

Проблема заключается в том, что у нас уже есть 8 файлов макета для 8 цветов фона, которые действительно трудно поддерживать.

Мы также хотели бы добавить подборку цветов, чтобы пользователи могли выбирать свой собственный цвет.

Есть ли лучший способ обойти ограничения RemoteViews?

Спасибо...

  • 0
    Я тоже хочу знать ответ. вы решили эту проблему?
Теги:
android-widget

1 ответ

4

Не будет ли

android.view.View.setBackgroundColor(int color)

сделать трюк? Цвет представляет собой 32 бита, состоящих из четырех 8-битных значений для альфа, красного, зеленого и синего. Подробнее см. android.graphics.Color, а также вспомогательные функции для выбора цветов. Или это не поддерживается RemoteViews? Я полагаю, что это соответствовало бы

views.setInt(R.id.my_ll,"setBackgroundColor",myColor);

как указано в вашей ссылке, не знаю, работает ли это.

НТН.

  • 1
    Да, я считаю, что это не поддерживается RemoteViews. Принято решение по ссылке - создать несколько файлов макета (по одному на каждый цвет).
  • 1
    Пока вы нацеливаетесь на 2.2 или выше, метод setInt () позволит вам сделать это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню