最简便实现Android(安卓)ListView选中item高亮显示
16lz
2021-01-26
最近在使用Android的ListView时发现点击其子项后,虽然瞬间会有高亮效果,但其效果并不能保留,尤其是点击触发进一步操作,例如打开新的Activity再返回,这样的高亮就完全消失了。
经过研究,发现篇文章比较有借鉴意义:http://android-codes-examples.blogspot.com/2011/03/customized-listview-items-selection.html
进一步,深入探究android.R.layout.simple_list_item_activated_1,发现实现这个功能其实可以非常简单,可以这样实现:
1) 在res\drawable下定义一个文件,例如list_item_backgroud.xml如下:
<?xml version="1.0" encoding="utf-8"?>
2) 在res\layout\定义Item的layout,例如list_item.xml如下:
<?xml version="1.0" encoding="utf-8"?>
3)在Activity中,为ListView添加如下Adapter即可:
adapter = new ArrayAdapter(this, R.layout.list_item, books);
4) 差点忘了,在onListItemClick中加入setSelected:
@Overrideprotected void onListItemClick(ListView l, View v, int position, long id){super.onListItemClick(l, v, position, id);v.setSelected(true);}
效果如图,值得一提的是,离开ListView所在的Activity,然后再返回,之前的Item依然会是Selected,所以高亮效果依旧。
更多相关文章
- NDROID中LISTVIEW仿QQ群组向上滚动特效
- Android(安卓)API Demos学习(4) - Receive Result
- [置顶] 【Android】 给我一个Path,还你一个酷炫动画
- 研究Android事件分发笔记
- Android(安卓)搜索结果关键字动态匹配筛选变色效果且高亮显示
- 30分钟弄明白Touch事件分发机制
- Android设计——Activity和Task的设计思路和方法
- Android(安卓)WebView 的回退方法(goback) 遭遇重定向
- Android通用可自定义下拉刷新上拉加载组件PopularRefreshLayout