Подтвердить что ты не робот

Android RelativeLayout изменит цвет onClick

Как изменить цвет Relative Layout, который я использую в качестве кликабельного на Click, как обычная кнопка? Как будто я хочу визуальную обратную связь, макет был нажат.

Я попробовал его с селектором, привязанным к свойству фона, например:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_focused="true" android:color="@android:color/black"/>
   <item android:state_pressed="true" android:state_enabled="false" android:color="@android:color/black" />
   <item android:color="@android:color/white"/>
</selector>

и использовал его в макетах Layouts...

android:background="@color/layout_selector"

но это дает мне исключение Inflate...

Любые идеи?

4b9b3361

Ответ 1

Попробуйте выполнить следующие действия:

В папке res → values ​​ создайте color.xml с контентом:

<?xml version="1.0" encoding="utf-8"?>
<resources>     
    <color name="black">#000000</color> 
    <color name="white">#ffffff</color>
</resources>

В качестве тега <item> в селекторе требуется атрибут drawable или дочерний тег, определяющий drawable, ваш файл layout_selector.xml (который сохраняется в res → drawable) должен выглядеть следующим образом:

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

Кроме того, как было сказано ранее, относительный макет должен быть доступен для кликов (android:clickable="true")

и его фоновый набор как android:background="@drawable/layout_selector"

Надеюсь, что это поможет

Ответ 2

Используйте селектор в атрибуте android: background вашего RealtiveLayout. Также сделайте макет кликабельным (через android:clickable="true").

Ответ 3

Макеты не отображаются на экране. Они могут только склонить взгляд. Вы добавили некоторый вид, а затем добавили в него просмотр onClick.

Возможная публикация: интерактивный макет Android

Ответ 4

поместите этот layout_selector.xml в выпадающую папку, то есть (res > drawable > layout_selector.xml) затем установите android:background="@drawable/layout_selector" вместо android:background="@color/layout_selector"