Android 处理OnItemClickListener时关于焦点颜色的设置问题

时间:2021-05-21

Android 处理OnItemClickListener时关于焦点颜色的设置问题

当我们使用OnItemClickListener来改变Item以使其比较突出时,我们一般采用如下的代码。

public void onItemClick(AdapterView<?> parent, View view, int arg2, long arg3) { //恢复每个单元格背景色 TextView categoryTitle; for(int i=0;i<parent.getCount();i++) { categoryTitle = (TextView) parent.getChildAt(i); categoryTitle.setTextColor(0XFFADB2AD); categoryTitle.setBackgroundDrawable(null); } //设置选择单元格的背景色 categoryTitle=(TextView)view; categoryTitle.setTextColor(0XFFFFFFFF); categoryTitle.setBackgroundColor(R.drawable.categorybar_item_background);

这样焦点才会出现这样的效果:

如果我们新建一个文件夹比如人color和drawable,然后通过里面的xml文件来调用颜色,代码如下。

?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:color="#ffffffff"/> <item android:state_pressed="true" android:color="#ffffffff"/> <item android:state_selected="true" android:color="#ffffffff"/> <item android:color="#ffabd2ad"/> public void onItemClick(AdapterView<?> parent, View view, int arg2, long arg3) { //恢复每个单元格背景色 TextView categoryTitle; for(int i=0;i<parent.getCount();i++) { categoryTitle = (TextView) parent.getChildAt(i); categoryTitle.setTextColor(R.color.category_title_normal_background); categoryTitle.setBackgroundDrawable(null); } //设置选择单元格的背景色 categoryTitle=(TextView)view; categoryTitle.setTextColor(R.color.white); categoryTitle.setBackgroundColor(R.drawable.categorybar_

运行后的结果如图:


也就是颜色更愿意接受的是直接给一个值,而不是通过xml文件来实现。

大小: 5.6 KB 大小: 4.8 KB

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章