Android 处理OnItemClickListener时关于焦点颜色的设置问题
当我们使用OnItemClickListener来改变Item以使其比较突出时,我们一般采用如下的代码。
代码如下 | 复制代码 |
publicvoidonItemClick(AdapterView parent, View view,intarg2, longarg3) { //恢复每个单元格背景色 TextView categoryTitle; for(inti=0;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"?> <selectorxmlns:android="http://schemas.android.com/apk/res/android">
android:state_focused="true" android:color="#ffffffff"/> android:state_pressed="true" android:color="#ffffffff"/> android:state_selected="true" android:color="#ffffffff"/> android:color="#ffabd2ad"/> publicvoidonItemClick(AdapterView parent, View view,intarg2, longarg3) { //恢复每个单元格背景色 TextView categoryTitle; for(inti=0;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文件来实现。