博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在android中利用Theme设置application 的所有listview的style?~
阅读量:5913 次
发布时间:2019-06-19

本文共 886 字,大约阅读时间需要 2 分钟。

今天看VLC的源代码,发现一个很神奇的东西

所有listview的点击效果背景色都是橘黄色

花了点时间找了一下看看怎么实现的。

首先,定义一个<selector>

like this:

<selector>

  <item android:state_pressed="true">      

    <shape android:shape="rectangle">

      <solid android:color="@color/orange">

    </shape>

  </item>

</selector>

当然,你也可以直接找一张橘黄色的图片,效果和上面是一样的

然后你可以建一个style,这个style可以包含你希望的listview的所有属性,这里只举例说明,所以只写了一个android:listselector

<style name="theme.list">

  <item name="android:listselector">@drawable/一张图片 or 上面那个selector对应的xml,放在drawable文件夹下即可~ </item>

</style>

 

把这个style放到大的theme定义中,like this:(红字表示继承,因为毕竟我们只修改了一个大的theme中的一部分)

<style name="Theme.APPLICATION" parent="Theme.sherlock.Light">

<item name="listviewStyle">@style/theme.list</item>

</style>

最后把这个theme放到你的activity的android:theme中,这样你的那个activity所有的listview(包括子fragment)都是这个style 了~

<Activtiy

android:theme="@style/Theme.APPLICATION"

>

转载于:https://www.cnblogs.com/Xiegg/p/3811392.html

你可能感兴趣的文章
Qt Creator写Qt入门程序(三)
查看>>
黑马程序员张孝祥JavaSE基础加强
查看>>
Solved: Time Synchronization Issues with Amazon S3
查看>>
2013-7-18学习文件的使用
查看>>
openssl创建证书
查看>>
Zabbix对服务器资源进行监控及百度告警的整合
查看>>
周鸿祎:Nobody的微创新
查看>>
Docker 多宿主互联
查看>>
我的个人见解:如何认识一个人
查看>>
Kotlin 's Null safety
查看>>
比较web服务器、Servlet容器和web容器之间的异同
查看>>
linux字符系统安装桌面
查看>>
国内VDI市场之乱象分析,第二篇:传输协议篇
查看>>
HTTP Content-Type 类型整理
查看>>
Criteria查询及注解
查看>>
【MySQL】存储过程(很有用)
查看>>
2015年9月01日课程作业(练习)
查看>>
springMVC静态资源处理
查看>>
Java类初始化顺序
查看>>
宝塔面板一键docker部署
查看>>