2015-02-22 8 views
0

ОК, когда я использую setBackground на кнопке, кнопка больше не отображает обратную связь при нажатии. Как я могу это исправить. Я просто хочу, чтобы кнопка стала более темной или какой-то обратной связи, поэтому пользователь знает, что ее нажали.Изменение цвета кнопки при нажатии

Надеюсь, что это имеет смысл!

ответ

2

Создание этого рисуем и связать его с фона кнопки

<selector 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/YOURIMAGE" /> 
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/gradient" /> 
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/gradient" /> 
<item android:drawable="@drawable/YOURIMAGE" /> 
</selector> 

Нанести его на кнопку

android:background="@drawable/button" 
1

Вам нужно создать селектор внутри XML и он связан с state_pressed = «истина» , Внутри элемента вы можете указать форму объекта. Я связался с сайтом разработчика Android, чтобы вы могли видеть и другие доступные варианты.

 <item android:state_pressed="true"> 
      <shape> 
       <solid android:color="#73E5E4D7" /> 
      </shape> 
     </item> 
     <item> 
      <shape> 
       <solid android:color="#E6E5E4D7" /> 
      </shape> 
     </item> 

Android Developer State List

+0

Не установлен фон. Я хочу сказать, что это вкладка под кнопкой, которая говорит фон. Когда я оставляю его по умолчанию, есть анимация, которая затемняет кнопку при нажатии. Однако, когда вы вставляете шестнадцатеричное значение, анимация исчезает. –

+0

Извините, смущенный тем, что вы просите (возможно, скриншот поможет). Можете ли вы дать нам код/​​разъяснение/скриншот того, что вы хотите? –

+0

Когда вы укажете, какое значение цвета вы хотите использовать, анимации нет, поэтому, когда кто-то нажимает кнопку, должна быть анимация в кнопке, которая затемняется, чтобы пользователь знал, что был нажат. –

0

надеюсь, что это работает хорошо. сначала назначьте свою кнопку в ссылку типа кнопки в своем классе активности. ex: newBtn=(Button) findViewById(R.id.yourButton);

после этого установить прослушиватель этой кнопки.

yourButton.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      yourButton.setBackgroundColor(int colorCode); 
     } 
    }); 
Смежные вопросы