17

在我发布这个帖子之前,我用谷歌搜索(如何设置列表视图项目的样式)我找不到一个很好的例子来展示如何设置列表视图项目的样式(正常、触摸、长按等)背景颜色我也想做这个 VK 列表视图带有边框半径和框阴影,请我真的需要这个帮助,其他人也在搜索这个有什么例子或者有人可以告诉我我必须在项目的 xml 选择器背景中放入什么吗?

图一显示如何列表视图项目具有边框半径和阴影

在此处输入图像描述

图 2 显示当我单击该项目时

在此处输入图像描述

所以伙计们有什么办法可以这样做吗?

4

2 回答 2

23

当然,最好在这里使用样式:

<!-- 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>

您必须在您的 drawables 文件夹中定义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> 
于 2013-07-31T22:04:45.477 回答
0

最好的方法是在样式.xml 文件中覆盖您在 AppTheme 中的值

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

这种覆盖反映了您在应用程序中使用的所有 ListView。

您也可以使用可绘制而不是颜色。

于 2016-03-23T14:57:28.280 回答