У меня есть линейный макет, в котором каждая строка раздута программно, и я хочу, чтобы строки вели себя как ListView при нажатии. То есть, я хочу, чтобы строка выделялась точно таким же способом/цветом, что и в ListView по умолчанию. Как я могу это сделать?
Android, как сделать подсветку при нажатии?
Ответ 1
Хорошо, я наконец-то выяснил, как это сделать... в основном это делается с помощью селектора, такого как селектор цветов, связанный по стилю, за исключением "цвет", использующий переносимый для состояний, и вы можете ссылаться на список по умолчанию который используется в ListView следующим образом:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@android:drawable/list_selector_background" />
</selector>
и используя этот xml в качестве фона для моего представления.
Все общедоступные чертежи по умолчанию можно найти здесь: http://developer.android.com/reference/android/R.drawable.html
Ответ 2
Я смог сделать то же самое с текстовым представлением, что я хотел вести себя как элемент списка, используя:
<Textview
....
android:background="@android:drawable/list_selector_background"
/>
Ответ 3
Это может быть хорошим местом для начала поиска.
Хотя, я бы посоветовал вам использовать сам ListView, а не реализовывать его снова.
Ответ 4
если у вас все еще есть проблема с этим, пожалуйста, помните, что некоторые элементы пользовательского интерфейса не доступны для клика (RelativeLayout), поэтому вам нужно добавить еще одну строку:
<RelativeLayout
....
android:clickable="true"
...
Ответ 5
Свойство listview set
android:listSelector="@color/test"
и этот цвет теста задает любой прозрачный цвет, который вам нравится. вы можете создать любой прозрачный цвет, используя шестнадцатеричный прозрачный цвет