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
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:Android ListView的OnItemClickListener详解Android 中ListView setOnItemClickListener点击无效原因分析android post请求接口demoAndroid实现屏蔽微信拉黑和删除联系人功能示例Android中Fab(FloatingActionButton)实现上下滑动的渐变效果超简单实现Android自定义Toast示例(附源码)Android中实现滑动的七种方式总结Android 仿微信聊天时间格式化显示功能