Как установить другой цвет для нажатого состояния кнопки?

У меня есть Buttons в приложении для Android. У них есть значок и текст. Я могу установить цвет фона Button в java-коде. Если нажать кнопку, я хочу отобразить другой цвет. Итак, как мне установить другой цвет для нажатого состояния Button ?

 <Button android:id="@+id/save" android:layout_width="130dip" android:layout_height="wrap_content" android:scaleType="center" android:drawableTop="@drawable/save" android:text="Save" android:textColor="#FFFFFF" android:textSize="14dip" > 

Метод onCreate :

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.homescreen); save = (Button)findViewById(R.id.save); save.setBackgroundColor(Color.rgb(27,161,226)); } 

Создайте файл xml, используя изображение кнопки, подобное этому, с помощью mybutton.xml в папке с возможностью переноса

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/greencolor" /> <item android:state_focused="true" android:drawable="@color/yellowcolor" /> <item android:drawable="@color/redcolor" /> </selector> 

И используйте это в коде xml-кода

 android:background="@drawable/mybutton" 

Добавьте эти цветовые коды в ресурс -> values ​​-> colors.xml, как это

 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="blue">#0066cc</color> <color name="gold">#e6b121</color> </resources> 

Ссылка: изменить фон кнопки при касании

Ниже приведен пример кода для списка состояний цвета, используемого для кнопки

 <?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:color="#c0c0c0" android:state_selected="true"/> <item android:color="#ffffff" android:state_pressed="true"/> <item android:color="#9A9A9A" android:state_focused="false" android:state_pressed="false" android:state_selected="false"/> </selector> 

Также проверьте ссылку ниже для списка состояний цвета

http://developer.android.com/guide/topics/resources/color-list-resource.html

Вам нужно использовать drawable с селектором для нажатых состояний, более часто выполняемых в ссылках xml ниже.

http://developer.android.com/reference/android/graphics/drawable/StateListDrawable.html

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

Используйте StateList . Ниже приведен пример селектора с другим вытягивающим для нажатого состояния:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/drawable_for_pressed_state" android:state_pressed="true"/> <item android:drawable="@drawable/drawable_for_normal_state"/> </selector> 

edittext_modified_states.xml

 <?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/apptheme_textfield_activated_holo_light" /> <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/apptheme_textfield_focused_holo_light" /> <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/apptheme_textfield_disabled_focused_holo_light"/> <item android:drawable="@drawable/apptheme_textfield_default_holo_light" /> </selector> 

Здесь: http://android-holo-colors.com перейдите на этот веб-сайт и выберите свой цвет и введите в свой рисунок. Goto layout xml и установить фон кнопки. андроид: фон = "@ вытяжка / edittext_modified_states"

Если вы хотите изменить цвет фона кнопки, просто выполните следующие действия.

 @Override public void onClick(View v) { if(v.getId() == R.id.btn01) { btn1.setBackgroundColor(Color.RED); btn1.setTextColor(Color.WHITE); } 

Просто добавьте этот код в onclick event of button.

Intereting Posts
Как установить Tint в NavigationView на некоторые значки Android вьетнамский текст в речь? В ListView, когда элемент списка имеет кнопку onListItemClick, не работает Проект не был создан из-за «Не удалось удалить» project / bin / classes / com ', " GetSupportActionBar изнутри фрагмента ActionBarCompat Как добавить параметр поиска в приложение для Android? Как получить все контакты и все их атрибуты Android с использованием макетов в качестве шаблона для создания нескольких экземпляров макета UPDATE: теперь это проблема, связанная с Swype: отключить автоматическую заглавную запись первого символа предложения в EditText Получать оповещение Android Push, даже если приложение закрыто FATAL EXCEPTION: java.lang.NoClassDefFoundError: android.support.v7.appcompat.R $ layout Какова частота кадров экрана Как узнать, используется ли метрическая или имперская Селектор пульсаций отключен на исходном фоне Как легко регулировать ориентацию