Изменить цвет фона и цвет текста в строке списка списка в андроиде

В моем пользовательском listview я использовал relativelayout и внутри, который добавил 2 текстовых изображения по вертикали. Фоновое изображение настроено на relativelayout. Теперь я хочу изменить фоновое изображение, а также textcolor textview при нажатии элемента listview. Как это сделать, у кого есть идея?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/item_bg" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="" android:textColor="@color/orange" android:textSize="18sp" android:textStyle="bold" android:layout_marginTop="10dip" android:layout_marginLeft="10dip" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dip" android:layout_marginRight="20dip" android:layout_marginTop="8dip" android:ellipsize="end" android:maxLines="3" android:duplicateParentState="true" <!-- this is a line to use..--> android:textColor="@color/_textcolor" android:textSize="14sp" > </TextView> 

Item_bg.xml внутри папки res / drawable:

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

_textcolor.xml внутри res / color / folder:

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

Что касается фона, вы должны создать StateList Drawable и установить его как фон ваших строк.

Ex из такого drawable (можно назвать background_selector.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/color1" /> <!-- pressed --> <item android:drawable="@color/color2" /> <!-- default --> </selector> 

И в объявлении макета вашей строки:

 ... android:background="@drawable/background_selector" ... 

Аналогичным образом используйте текст в списке цветов

Intereting Posts
Как определить, будет ли GPS-точка лежать в заданном наборе местоположения начала и конца GPS? Почему NullPointerException при программном добавлении моего текстового представления? Выбор даты и времени в одном представлении Опции разработчика Old Moto Droid w / 2.2? Установить град для использования в кордове buildroid Параметрированный запрос вызывает IllegalArgumentException: невозможно связать аргумент Ошибка биллинга в приложении In-App InvalidKeySpecException Может ли одно приложение Android управлять другим приложением через UI Automator? Java.lang.NullPointerException: попытка вызвать виртуальный метод 'void android.widget.Editor $ SelectionModifierCursorController.enterDrag ()' Android WebView не останавливается после нажатия пользователем Где отменить разрешения Google API, предоставленные на Android? Анализ XML-Android – разбор тегов <description> Google Maps Android: привязать полилинию к улице Я хотел бы узнать, есть ли способ разместить игру libgdx внутри приложения для Android? Как перенаправить пользователя на вкладку обзора страницы приложения в Google Play из браузера?