Android. Кнопка не выглядит нажатой

Я просто начинаю разработку Android. У меня очень простая кнопка, созданная вот так:

<Button android:id="@+id/howItWorksButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="58dp" android:text="@string/how_it_works_button_title" /> 

В коде я устанавливаю для него цвет фона:

 howItWorksButton.setBackgroundColor(Color.RED); 

Это onClickListener:

 howItWorksButton.setOnClickListener(new OnClickListener() { public void onClick(View view) { Intent intent = new Intent(MainMenuActivity.this, HowItWorksActivity.class); MainMenuActivity.this.startActivity(intent); } }); 

Проблема в том, что когда я нажимаю на нее, она выглядит не так, как будто она просто нажата, она просто остается такой, какой она есть, никаких изменений. Его метод onClick работает нормально, все в порядке с функциональностью, но я хочу, чтобы он выглядел как-то измененным, как и все кнопки, когда они нажаты.

Android не отображает нажатое состояние автоматически, в отличие от iOS, если вы установите его цвет вручную. Вот рекомендуемый способ сделать это.

Поместите папку colors.xml в папку значений. Его содержимое должно быть таким.

 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="white">#ffffffff</color> <color name="darkwhite">#ffeeeeee</color> <color name="transparent">#00ffffff</color> <color name="semitransparent">#88000000</color> <color name="orange">#ffff8800</color> <color name="light_orange">#ffe27d18</color> <color name="light_blue">#ff00a2e8</color> <color name="black">#ff000000</color> <color name="menuButtonColor">#ffea8e44</color> </resources> 

Поместите файл селектора в ваш примерный, например

my_button_selector.xml

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

Используйте свой селектор как этот

 <Button android:id="@+id/howItWorksButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="58dp" android:text="how_it_works_button_title" android:background="@drawable/my_button_selector" /> 

Попробуй это,

Используйте Selector .

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

Вам нужно установить селектор изображений в качестве фона, чтобы указать андроид, какое изображение или цвет вы хотите видеть, когда кнопка нажата, сосредоточена, отключена, … Здесь вы можете найти пример http://www.mkyong.com/ Android / Android-ImageButton-селектор-пример /

Intereting Posts
Предупреждение: не удается отсканировать исполняемый раздел для Cortex-A8 erratum, поскольку он не имеет символов отображения Прямо в текстовом редакторе, не обновляющемся после ошибки Как преобразовать изображение в PDF? BouncyCastle на Android Начать экран активности, даже если экран заблокирован на Android Как получить android_id устройства? Есть ли какое-либо исправление для студии Android, чтобы отключить тестовое устройство в Macbook Pro? Строительство Pango Cairo для Android NDK GCM – Получение сообщения об ошибке «При обработке запроса произошла неизвестная ошибка. Повторите попытку "при создании нового проекта Клиент службы WSDL / SOAP для Android Начальная служба Android NFC Невозможно реорганизовать методы с подчеркиванием в качестве параметра в лямбда? Android VideoView не может воспроизводить видео mp4 Android OS 2.2 Разрешения: У меня нет абсолютно никакой идеи, почему этот простой кусок кода не работает. Что я делаю не так? Список фрагментов для прослушивателя кликов