У меня линейный макет, в котором каждая строка раздувается программно, и я хочу, чтобы при щелчке по строкам они вели себя как ListViewТо есть я хочу, чтобы строка выделялась точно так же, как и по умолчанию в ListView.Как бы я поступил так?
Хорошо, я наконец-то понял, как это сделать ... в основном это делается с помощью селектора, подобного селектору цвета, связанному по стилю, за исключением того, что вместо «цвета» используется рисование для состояний, и вы можете обратиться к списку по умолчанию. Drawable, который используется в 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
Я смог сделать то же самое с текстовым представлением, которое я хотел вести себя как элемент списка, используя:
<Textview .... android:background="@android:drawable/list_selector_background" />
если у вас все еще есть проблема с этим, пожалуйста, помните, что некоторые элементы пользовательского интерфейса не активируются (RelativeLayout), поэтому вам нужно добавить еще одну строку:
<RelativeLayout .... android:clickable="true" ...
Это может быть хорошим местом для начала поиска.
Хотя я бы посоветовал вам использовать сам ListView, а не реализовывать его снова.
Для вашего списка установите свойство
android:listSelector="@color/test"
и этот тестовый цвет задайте любой прозрачный цвет, который вам нравится.Вы можете создать любой прозрачный цвет, используя hex прозрачный цвет