android中的listview选择颜色
在我的listview中,当用户长按某个项目时,我会绘制一个自定义操作栏,并为用户提供一次删除多个项目的选项 默认情况下,如果我执行长按操作,我将获得蓝色的选择颜色,它将消失 为了克服这个问题,我尝试添加这样一个选择器 listviewselector.xmlandroid中的listview选择颜色,android,css,listview,android-listview,colors,Android,Css,Listview,Android Listview,Colors,在我的listview中,当用户长按某个项目时,我会绘制一个自定义操作栏,并为用户提供一次删除多个项目的选项 默认情况下,如果我执行长按操作,我将获得蓝色的选择颜色,它将消失 为了克服这个问题,我尝试添加这样一个选择器 listviewselector.xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Selected -->
<item
android:state_focused="true"
android:state_selected="false"
android:drawable="@color/RED"/>
<!-- Pressed -->
<item
android:state_selected="true"
android:state_focused="false"
android:drawable="@color/BLUE" />
</selector>
在这种情况下,如果用户执行长按,然后如果用户选择多个项目,我可以看到红色,默认情况下,所有项目的颜色将是白色。但是,如果用户触摸任何项目,默认颜色将为nothing,即选择时不显示任何颜色
如何获得默认的白色,点击蓝色和多次选择红色
我这样试过了
新选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Selected -->
<item
android:state_focused="true"
android:state_selected="false"
android:drawable="@color/RED"/>
<!-- Pressed -->
<item
android:state_selected="true"
android:state_focused="false"
android:drawable="@color/WHITE" />
</selector>
if(mSelectedItemsIds.get(key))
{
convertView.setBackgroundColor(mContext.getResources().getColor(R.color.RED));
}
else
{
convertView.setBackgroundColor(R.drawable.listviewselector);
}
if(mSelectedItemsIds.get(键))
{
setBackgroundColor(mContext.getResources().getColor(R.color.RED));
}
其他的
{
convertView.setBackgroundColor(R.drawable.listviewselector);
}
在这里,我得到默认的所有项目的蓝色。为什么?我这样试过,效果很好
if(mSelectedItemsIds.get(key))
{
convertView.setBackgroundColor(mContext.getResources().getColor(R.color.BLUE));
}
else
{
convertView.setBackgroundColor(android.R.drawable.list_selector_background);
}
请尝试将listselector设置为convertViewany示例代码膨胀的xml文件。。你发布的thankslistviewselector.xml就是我是火影忍者粉丝的一个例子tooYes,谢谢我是火影忍者的超级粉丝。。。谢谢:)。。但我试过这样的例子。我已经编辑了ans,请参见。我得到了所有项目的默认蓝色。嘿,它起作用了。我已经发布了答案。谢谢你的帮助。火影忍者迷摇滚:)我也在尝试,似乎我不需要这么做。我是你的jiriya Lollhmm,你的评论+1:)
if(mSelectedItemsIds.get(key))
{
convertView.setBackgroundColor(mContext.getResources().getColor(R.color.BLUE));
}
else
{
convertView.setBackgroundColor(android.R.drawable.list_selector_background);
}