Стиль списка андроидов?

прежде чем я разместил эту ветку, я googled (как стиль элементов списка) Я не могу найти хороший пример, чтобы показать, как стиль listview item (обычный, сенсорный, длинный и т.д.) цвета фона также я хочу сделать это VK listview с радиусом границы и тень окна, пожалуйста, мне действительно нужна эта помощь, и другие люди, которые ищут это, есть ли какой-нибудь пример, или кто-нибудь скажет мне, что мне нужно помещать внутри фона селектора xml элемента?

изображение показывает, как элемент listview имеет радиус границы и тень

enter image description here

изображение 2, показывающее, когда я нажимаю на элемент

enter image description here

чтобы у ребят был какой-то способ сделать это?

Ответы

Ответ 1

Конечно, лучше использовать стили здесь:

<!-- res/values/styles.xml -->
<style name="ListView" parent="@android:style/Widget.ListView">
    <item name="android:background">@color/light_grey</item>
    <item name="android:cacheColorHint">@android:color/transparent</item>
    <item name="android:divider">@android:color/transparent</item>
    <item name="android:dividerHeight">0dp</item>
    <item name="android:listSelector">@drawable/list_item_selector</item>
</style>

Определение @color/light_grey:

<!--- res/values/colors.xml --->
<?xml version="1.0" encoding="utf-8"?>
<resources>
   <color name="light_grey">#cccccc</color>
</resources>

Вам нужно будет определить цвет light_grey в colors.xml и создать стиль карты list_item_selector.xml в папке с рисунками:

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

Ответ 2

Лучший способ - переопределить ваше значение в AppTheme в файле styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="android:listSelector">@color/teal_100</item>
</style>

Это переопределение отражается на всех ваших списках ListView, которые вы используете в своем приложении.

Вы также можете использовать drawable вместо цвета.