android listview项目样式?

时间:2013-07-31 21:42:01

标签: android listview styles

在我发布这个帖子之前,我已经google了(如何设置listview项目的样式)我找不到一个很好的例子来展示如何设置listview项目(正常,触摸,长按等)背景颜色也是我想要做的事情这个VK listview有边框半径和框阴影,请我真的需要这个帮助,其他人搜索这个有任何例子或者有人可以告诉我我必须把它放在项目的xml选择器背景中吗?

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

enter image description here

当我点击项目时显示的图像

enter image description here

所以伙计们有没有办法这样做?

2 个答案:

答案 0 :(得分:22)

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

<!-- 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颜色,并在drawables文件夹中创建卡片样式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> 

答案 1 :(得分:0)

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

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

此覆盖反映了您在应用中使用的所有ListView。

您也可以使用drawable而不是color。