Кнопка настройки, отображаемая через RemoteViews

Я строю виджет, в котором есть кнопка. Значок на кнопке (который обычно устанавливается через drawableLeft="@drawable/some_image" в XML) должен меняться динамически. Я думал, что я мог бы использовать RemoteViews.setString(R.id.widget_button, "drawableLeft", "@drawable/some_image") установить иконку динамически, но виджет просто не загружается должным образом. Кто-нибудь знает, как установить значок кнопки в RemoteViews динамически?

1 ответ

Решение

drawLeft не имеет прямого метода эквивалента: чтобы установить его из кода, который вам нужно использовать setCompoundDrawables и связанные с ним методы. К сожалению, это методы с несколькими аргументами, которые RemoteViews не является общедоступным, так что вам может не повезти.

Одно из возможных решений (но очень хитрое): реализовать несколько макетов с различными возможными изображениями, а затем использовать RemoteViews.addView функция для их динамической загрузки.

Может работать.

Другие вопросы по тегам