Установка StateListDrawable как ImageButton / ImageView.backgroundDrawable в виджете на основе выбора пользователей в операции конфигурации - PullRequest
1 голос
/ 26 февраля 2011

Я создаю виджет, в котором пользователь в операции настройки может выбирать из множества графических элементов, которые будут использоваться в кнопке (ImageView (или ImageButton) с StateListDrawable).Выбранная графика будет использоваться в макете виджета при добавлении виджета.Макет выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center"> 
    <ImageView
        android:id="@+id/button" 
        android:layout_width="72dip" 
        android:layout_height="72dip"
        android:background="@null" 
        android:clickable="true">
    </ImageView>
</LinearLayout>

У меня вопрос: как установить выбранный backgroundResource в ImageButton, отображаемом в виджете, на основе выбора пользователей в операции настройки?

1 Ответ

1 голос
/ 04 марта 2011

Я отвечу на свой вопрос здесь. Кажется, что невозможно установить StateListDrawable в RemoteViews через код. Решение для меня заключалось в том, чтобы использовать XML-макеты, которые имеют ссылки на уникальные селекторы (я на самом деле создал генератор, чтобы я мог легко их генерировать). Это утомительно при работе с большим количеством графических элементов, но кажется единственным вариантом.

...