Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
26 / 19 / 5
Регистрация: 19.05.2009
Сообщений: 2,269
1

Поменять картинку у button после клика (не у ImageButton)

23.02.2017, 14:34. Показов 4152. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую.
Есть кнопка
XML
1
2
3
4
5
6
7
8
   <Button
            android:id="@+id/button1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/txtView"
            android:drawableRight="@drawable/bulb_off"
            style="@style/Widget.AppCompat.Button.Borderless"
            android:text="SomeText" android:textStyle="bold" android:onClick="onClick"/>
Есть листенер, в нем и надо менять картинку по клику, но вот как - не могу найти.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.02.2017, 14:34
Ответы с готовыми решениями:

Как вернуть фокус в редактируемый textbox после клика по button?
Есть форма, в ней 10 кнопок цифрового ввода (цифры 0-9 и запятая) и много textbox (по 12 полей...

Открыть картинку после клика по столбцу DataGridView
скриншот datagridview: нужно кликать по ячейке в столбце, и чтобы после этого открывалась...

Button & ImageButton
в чем разница между Button и ImageButton? и как сделать кликабельный контрол, но чтоб область...

Изменить картинку ImageButton виджета
Как изменить картинку button_image после нажатия: boolean boot = false; @Override ...

10
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
23.02.2017, 15:13 2
А пробовал искать?
Java
1
button.setCompoundDrawables(null,null,img,null);
1
26 / 19 / 5
Регистрация: 19.05.2009
Сообщений: 2,269
23.02.2017, 15:54  [ТС] 3
я искал, но не нашел. и все равно что то не получается
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Drawable img_off;
//onCreate
img_off = ResourcesCompat.getDrawable(getResources(), R.drawable.bulb_off, null);
img_on = ResourcesCompat.getDrawable(getResources(), R.drawable.bulb_on, null);
//onClick
switch (v.getId()) {
            case R.id.button:
                if (btnsChecked[0]) {
                    btnsChecked[0] = false;
                    btn1.setCompoundDrawables(null, null,img_off, null);
                } else {
                    btnsChecked[0]=true;
                    btn1.setCompoundDrawables(null, null,img_on, null);
                }
                break;
В итоге, при клике исходная картинка вовсе пропадает и уже не появляется. Что тут не так?
0
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
23.02.2017, 16:03 4
ContextCompat.getDrawable
0
26 / 19 / 5
Регистрация: 19.05.2009
Сообщений: 2,269
23.02.2017, 16:04  [ТС] 5
отбой, нужно было добавить WithIntrinsicBounds к setCompoundDrawables
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
23.02.2017, 16:06 6
Java
1
Drawable img = getContext().getResources().getDrawable( R.drawable.bulb_off);
0
26 / 19 / 5
Регистрация: 19.05.2009
Сообщений: 2,269
23.02.2017, 16:12  [ТС] 7
Цитата Сообщение от ExFau$t Посмотреть сообщение
Drawable img = getContext().getResources().getDrawable( R.drawable.bulb_off);
у меня ругается на getContext, а с setCompoundDrawablesWithIntrinsicBounds заработало как надо (хотя я так и не понял в чем фишка)
0
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
23.02.2017, 16:12 8
Цитата Сообщение от ExFau$t Посмотреть сообщение
getContext().getResources().getDrawable
этот метод уже наверно год как Deprecated
drawables берутся так
Java
1
ContextCompat.getDrawable(context, resId);
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
23.02.2017, 16:15 9
Если тему вставить, то не deprecated.
0
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
23.02.2017, 16:22 10
метод на 2 параметра был добавлен в 21 api
ставим курсор на любой класс/метод и нажимаем Ctrl+Q, можно много полезного вычитать
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
23.02.2017, 16:26 11
Ну и к чему это? Что им нельзя пользоваться теперь? До 21 тот, после этот, какие проблемы?
0
23.02.2017, 16:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.02.2017, 16:26
Помогаю со студенческими работами здесь

Как в android studio поставить картинку(свою) на ImageButton?
нужно чтобы иконка у ImageButton стояла либо из интернета, либо из документов

Как кнопкой ImageButton вызвать нужный сайт или картинку
Здраствуйте, подскажите как в кнопке ImageButton вызвать нужный сайт или картинку. Есть свойство...

Ожидание клика на button
Есть три кнопки на форме, нужно чтоб цикл продолжал выполняться только после нажатия одной из этих...

Обработчик клика Button к ListBox
Как на примере кода ниже в обработчике клика кнопки button_find_Click взять выделенную строку...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru