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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 4.89
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

Програмно изменить стиль кнопки - Программирование Android

29.07.2013, 17:25. Просмотров 4942. Ответов 9
Метки нет (Все метки)

Возможно ли это? Где-то (на англоязычных форумах) читал что НЕТ.
Но может я плохо читал или придумали уже...

Цель - Нажимаю на желтую градиентную кнопку, она становится красной градиентой.
Пока меняю фоновый цвет на красный, но это уже не так красиво.
Теоретически можно сделать 2 кнопки и менять их видимость... Но заготовок градиентов у меня больше 8 и делать 8 кнопок "на все случаи жизни"...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2013, 17:25     Програмно изменить стиль кнопки
Посмотрите здесь:

Изменить стиль кнопки Android - Программирование Android
Кто может помочь с изменением стиля кнопки button. Как нужно или можно изменить стиль, чтобы не было проблем с углами, которые отображаются...

Изменить стиль DialogFragment - Программирование Android
Приветствую, Есть приложение, в приложении есть DialogFragment с DatePicker и парой кнопок. Как изменить его стиль? Ну хотя бы цвет...

Изменить стиль текста из кода - Программирование Android
Есть TextViev: ... <TextView style="@style/MyStyle1" android:id="@+id/MyTextView" android:text="@string/MyText" /> ... И...

Не получается изменить цвет кнопки - Программирование Android
Я вроде написал все как нужно, но цвет кнопки все равно не изменяется... Вот код: <Button android:layout_width="wrap_content"...

Изменить фон кнопки в момент нажатия - Программирование Android
Добрый день! подскажите как изменить фон кнопки в момент нажатия. пробовал up.getBackground().setColorFilter(Color.rgb(175, 175, 175),...

Как изменить ссылку по нажатию кнопки? - Программирование Android
Кто подскажет, как тут, по нажатию кнопки менять ссылки? URL feedUrl = null; try { feedUrl = new...

Как изменить цвет кнопки, на которую установлен селектор? - Программирование Android
Добрый день! Хочу изменить цвет кнопки на которой установлен селектор, но после установки цвета селектор не работает. вот селектор...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
29.07.2013, 19:58     Програмно изменить стиль кнопки #2
Плохо искали http://stackoverflow.com/questions/2...bute-in-a-view
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
29.07.2013, 22:59  [ТС]     Програмно изменить стиль кнопки #3
Цитата Сообщение от YuraAAA Посмотреть сообщение
Когда-то ЭТОТ сайт прошерстил, но неработает...

попробовал согласно Вашей ссылке:
Java
1
2
3
4
        Button bt;
        bt = ((Button) findViewById(R.id.btTest));
        bt.setEnabled(false);// с ЭТИМ и БЕЗ
        bt.setBackgroundResource(R.style.BaseThemeButton_Red);
Но не работает... У Вас работает?

Только прямым включением в XML:
XML
1
2
3
<Button
                style="@style/BaseThemeButton_Red"
...
Когда-то вычитал что можно задавать стиль только при ПРОГРАММНОМ создании кнопки, а не менять на ходу...
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.07.2013, 23:42     Програмно изменить стиль кнопки #4
Java
1
bt.setBackgroundResource(R.drawable.red_gradient);
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
30.07.2013, 04:14  [ТС]     Програмно изменить стиль кнопки #5
Цитата Сообщение от V0v1k Посмотреть сообщение
Java
1
bt.setBackgroundResource(R.drawable.red_gradient);
Сработало... но этот стиль ("R.drawable.red_gradient") "статический". А "R.style.BaseThemeButton_Red" был динамическим - обрабатыватывал и смену стиля на нажатие.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.07.2013, 01:43     Програмно изменить стиль кнопки #6
в стиле BaseThemeButton_Red есть background="R.drawable.blabla", вот это R.drawable.blabla и поместите в
Java
1
bt.setBackgroundResource(R.drawable.blabla );
не знаю как еще объяснить.
pony228
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 2
01.08.2013, 00:17     Програмно изменить стиль кнопки #7
есть такая классная тема под названием selector. Смысл следующий, задаем бекграунды для разных состояний любого UI элемента(кнопки, ImageView'a тд) далее просто присваиваем этот файл бекграунду нужного элемента.
XML
1
2
3
4
5
6
7
8
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
 
    <item android:drawable="@drawable/button_blue_down" android:state_focused="true" android:state_pressed="false"/>
    <item android:drawable="@drawable/button_blue_down" android:state_focused="true" android:state_pressed="true"/>
    <item android:drawable="@drawable/button_blue_down" android:state_focused="false" android:state_pressed="true"/>
    <item android:drawable="@drawable/button_blue"></item>
    
</selector>
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.08.2013, 00:21     Програмно изменить стиль кнопки #8
по словам автора он и использует селектор в теме, но не может его с кода вставить.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
01.08.2013, 01:14  [ТС]     Програмно изменить стиль кнопки #9
Цитата Сообщение от pony228 Посмотреть сообщение
есть такая классная тема под названием selector
Цитата Сообщение от V0v1k Посмотреть сообщение
по словам автора он и использует селектор в теме, но не может его с кода вставить
во-во! Кнопка с синим градиентом при нажатии становится темно-синей. При отпусканни возвращается назад. Красная в темно-красную...
А результатом
Java
1
bt.setBackgroundResource(R.drawable.red_gradient);
могу назначить только началное красно-градиентарное состояние. Реакторы теряются. Для начала пойдет (лучше чем просто равномерно заливать красном цветом), но реакторы похоже вручную прописывать прийдется...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2013, 01:19     Програмно изменить стиль кнопки
Еще ссылки по теме:

Другой кнопкой из дочерней активности изменить фон той кнопки, которая в родительской активити - Программирование Android
Вот такая проблема: у меня в главной активности есть кнопка, как мне другой кнопкой из дочерней активности изменить фон той кнопки, которая...

Програмно нажать кнопку - Программирование Android
Почему обрабатывается &quot;KEYCODE_BACK&quot; , а &quot;KEYCODE_MEDIA_PLAY&quot;, &quot;KEYCODE_VOLUME_UP&quot;... не обрабатываются при нажатии на кнопку? ...

Определение стиля к програмно созданной кнопке - Программирование Android
Кнопка создается программно. LinearLayout llc = new LinearLayout(this); LayoutParams params = new LayoutParams(50, 50); Button...

Как прикрепить програмно кнопку к другому элементу в RelativeLayout - Программирование Android
Как прикрепить програмно кнопку к другому елементу в RelativeLayout ?

Как програмно сменить клавиатуру, или трудности при написании собственного EditText - Программирование Android
Доброго времени суток, проблема такая. Я пытаюсь написать свой EditText, т.к. пишу под AndEngine и не могу использовать View. С чем я...


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

Или воспользуйтесь поиском по форуму:
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.08.2013, 01:19     Програмно изменить стиль кнопки #10
ну так применяйте дравейбл который в стиле написан. в чем проблема?
Yandex
Объявления
01.08.2013, 01:19     Програмно изменить стиль кнопки
Ответ Создать тему
Опции темы

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