Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Jason
388 / 388 / 46
Регистрация: 25.12.2011
Сообщений: 902
#1

Изменить картинку ImageButton виджета - Программирование Android

16.09.2015, 18:01. Просмотров 353. Ответов 3
Метки нет (Все метки)

Как изменить картинку button_image после нажатия:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    boolean boot = false;
 
    @Override
    public void onReceive(Context context, Intent intent) {
        super.onReceive(context, intent);
        if (intent.getAction().equals(ACTION_TRAP)) {
            boot = !boot;
        }
    }
 
    static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
                                int appWidgetId) {
 
        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.flash_control);
 
        Intent intent = new Intent(context, GClass.class);
        intent.setAction(ACTION_TRAP);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
        views.setOnClickPendingIntent(R.id.button_image, pendingIntent);
        appWidgetManager.updateAppWidget(appWidgetId, views);
 
    }
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2015, 18:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изменить картинку ImageButton виджета (Программирование Android):

Поменять картинку у button после клика (не у ImageButton) - Программирование Android
Приветствую. Есть кнопка <Button android:id="@+id/button1" android:layout_width="fill_parent" ...

ImageButton - Программирование Android
Проблема такая. У меня таблица с ImageButton. Они вначале пустые. По нажатию засовывается картинка (мелкого разрешения). Проблема в том,...

Нажатие ImageButton - Программирование Android
Хочу определить ImageButton (остается в нажатом положении/ в фокусе/ не нажата) и у меня не хочет работать ,вылазит ошибка ,подскажите...

ImageButton hover - Программирование Android
Добрый вечер. Как сделать, если ты нажал на кнопку в imagebutton чтобы иконка меняло цвет. Вот исходник Сама иконка ...

Перемещение ImageButton - Программирование Android
Пытаюсь реализовать такую задачу: есть imagebutton в исходном состоянии (картинка с координатами x1, y1). При нажатии на картинку...

Работа с ImageButton - Программирование Android
Hебят возникла такая проблема при замене Button на ImageButton, приложение вылетает с ошибкой при этому логи указывают на ошибку в методе...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 655
16.09.2015, 18:17 #2
Если изображение доступно из ресурсов можно сделать так:
Java
1
views.setImageViewResource(int viewId, int srcId);
В классе RemoteViews есть ещё пару методов для этого, если этот не устроит.
Jason
388 / 388 / 46
Регистрация: 25.12.2011
Сообщений: 902
16.09.2015, 18:27  [ТС] #3
Про эти методы я знаю, но пробовал в: updateAppWidget, не работает...
Java
1
2
3
4
       if (boot)
           views.setImageViewResource(R.id.button_image, R.drawable.btn_on);
       else
           views.setImageViewResource(R.id.button_image, R.drawable.btn_off);
Т.е. мне надо сразу установить, поменять, картинку после нажатия...
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 655
16.09.2015, 19:12 #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Jason, а если так попробовать:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
    static boolean boot = false;
 
    @Override
    public void onReceive(Context context, Intent intent) {
        super.onReceive(context, intent);
 
        ComponentName thisAppWidget = new ComponentName(context.getPackageName(), getClass().getName());
        AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
        int appWidgetIds[] = appWidgetManager.getAppWidgetIds(thisAppWidget);
 
        if (intent.getAction().equals(ACTION_TRAP)) {
            boot = !boot;
            for(int id: appWidgetIds) {
                updateAppWidget(context, appWidgetManager, id);
            }
        }
        
    }
 
    static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
                                int appWidgetId) {
 
        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.flash_control);
 
        if (boot)
            views.setImageViewResource(R.id.button_image, R.drawable.btn_on);
        else
            views.setImageViewResource(R.id.button_image, R.drawable.btn_off);
 
        Intent intent = new Intent(context, GClass.class);
        intent.setAction(ACTION_TRAP);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
        views.setOnClickPendingIntent(R.id.button_image, pendingIntent);
        appWidgetManager.updateAppWidget(appWidgetId, views);
 
    }
Добавлено через 9 минут
Значение переменной boot лучше держать в SharedPreferences.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2015, 19:12
Привет! Вот еще темы с ответами:

Выдвижные ImageButton - Программирование Android
Добрый вечер! Пытаюсь решить задачу, как сделать так,чтобы имиджкнопку можно было задвинуть в сторонку чтобы просмотреть находящуюся под...

не работает с ImageButton - Программирование Android
Приложение не запускается с ImageButton, пишет Application has stopped unexpectedly. please try again, но когда ставлю Button вместо...

ImageButton setImageResource - Программирование Android
<ImageButton android:id="@+id/imageButton1" android:layout_width="wrap_content" ...

Button & ImageButton - Программирование Android
в чем разница между Button и ImageButton? и как сделать кликабельный контрол, но чтоб область клика была произвольной формы?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.09.2015, 19:12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru