#android
#Android
Вопрос:
Если мы щелкнем по любому текстовому представлению в Listview, цвет фона должен измениться, а onclick release, он должен измениться на прозрачный цвет в Android.Есть ли вообще?
Ответ №1:
Создайте textview_selector.xml в папке для рисования:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/pressed_color"
android:state_pressed="true" />
<item android:drawable="@drawable/normal_color" />
</selector>
Определение цветов в color.xml в res> значения:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="pressed_color">#FF0000</drawable> <!--custom color for pressed state -->
<drawable name="normal_color">#00FFFFFF</drawable> <!--transperent color for normal state -->
</resources>
Теперь вам нужно использовать его там, где вы определяете textviews как часть вашего listitem.
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@ id/textview1"
android:gravity="center"
android:text="This is sample!"
android:background="@drawable/textview_selector"
android:clickable="true"
/>
Комментарии:
1. Этот способ не работает, если для Textview есть какой-либо OnClickListener.
2. Я думаю, у вас может возникнуть проблема, поскольку ваши клики по listitem и textview конфликтуют.
3. да, если для Textview нет OnClickListener, а для Listview есть OnItemClickListener, то он работает. Но здесь OnClickListener для Textview необходим для функциональности. Как добиться этого динамически в OnClickListener?
4. попробуйте использовать кнопку вместо textview и установите цвет ее текста и фона в соответствии с вашими требованиями в вашем пользовательском классе адаптера.
5. Но, к сожалению, кнопка не входит в мои требования. Требуется только textview.
Ответ №2:
Посетите http://developer.android.com/guide/topics/ui/themes.html ! Существует очень хорошее объяснение относительно концепции, которую вы ищете.
Комментарии:
1. Если есть прослушиватель onitemclick, то работает только этот тип стилей. Здесь требуется onclicklistener для Textview, поэтому не удается применить эти стили. Если вы предоставите код для этого в OnClickListener Textview, то это будет полезно.