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

Как изменить цвет кнопки, на которую установлен селектор? - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
DevExp
6 / 6 / 2
Регистрация: 27.05.2013
Сообщений: 59
22.09.2014, 12:08     Как изменить цвет кнопки, на которую установлен селектор? #1
Добрый день!

Хочу изменить цвет кнопки на которой установлен селектор, но после установки цвета селектор не работает.
вот селектор для кнопки:
XML
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 
    <item android:state_pressed="true"><shape>
            <stroke android:width="1dip" android:color="@android:color/black" />
 
            <gradient android:angle="90.0" android:endColor="@android:color/holo_blue_light" android:startColor="@android:color/holo_blue_light" android:type="linear" />
 
            <padding android:bottom="20dip" android:left="20dip" android:right="20dip" android:top="20dip" />
        </shape></item>
 
</selector>
тут устанавливаю селектор:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical|center_horizontal"
    android:orientation="vertical"
    tools:context="com.example.colorpicker.MainActivity" >
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical|center_horizontal" >
 
        <Button
            android:id="@+id/btn1"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:layout_margin="1dp"
            android:background="@layout/selector_foreground" />
    </LinearLayout>
 
</LinearLayout>
а так устанавливаю программно цвет:
Java
1
2
Button btn = (Button) findViewById(R.id.btn1);
btn.setBackgroundColor(Color.parseColor("#EAA041"));
но селектор перестаёт работать...
Как установить программно и цвет кнопки и селектор?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2014, 12:08     Как изменить цвет кнопки, на которую установлен селектор?
Посмотрите здесь:

Android Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ?
Android Как изменить цвет заголовка приложения?
Android Как изменить цвет пункта ListView при нажатии на него и сохранять его цвет при проматывании списка?
Как изменить ссылку по нажатию кнопки? Android
Как изменить цвет у Status Bar Android
Не получается изменить цвет кнопки Android
Как изменить цвет меню приложения? Android
Android Как узнать имя таблицы на которую установлен курсор
Android Как поменять цвет нажатой кнопки в runtime?
Как изменить цвет рабочего окна с темного на белый? Android
Android Как можно изменить цвет переключателя SwitchCompat?
Как изменить цвет одного из элементов ToolBar Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
22.09.2014, 12:15     Как изменить цвет кнопки, на которую установлен селектор? #2
Ну никак, рисуйте еще один селектор с другим цветом и ставьте его в качестве бекграунда.
DevExp
6 / 6 / 2
Регистрация: 27.05.2013
Сообщений: 59
22.09.2014, 12:24  [ТС]     Как изменить цвет кнопки, на которую установлен селектор? #3
а если 50 кнопок и каждой кнопке нужно присвоить свой цвет, то 50 селекторов рисовать?
может есть какая-то альтернатива копипасту?

Добавлено через 5 минут
может есть способ программно подставлять цвет в селектор?
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
22.09.2014, 12:24     Как изменить цвет кнопки, на которую установлен селектор? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Можно так попробовать
Java
1
button.getBackground.setColorFilter(Color)
DevExp
6 / 6 / 2
Регистрация: 27.05.2013
Сообщений: 59
22.09.2014, 13:05  [ТС]     Как изменить цвет кнопки, на которую установлен селектор? #5
спасибо, подойдёт
Yandex
Объявления
22.09.2014, 13:05     Как изменить цвет кнопки, на которую установлен селектор?
Ответ Создать тему
Опции темы

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