Android如何更改gridview突出显示颜色?
Posted
技术标签:
【中文标题】Android如何更改gridview突出显示颜色?【英文标题】:Android how to change gridview highlight color? 【发布时间】:2012-03-27 00:17:42 【问题描述】:如何在 gridview 中改变 imageView 的高亮颜色。
我试过了,
public View getView(int position, View convertView, ViewGroup parent)
ImageView imageView;
if (convertView == null) // if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(width, height));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setBackgroundResource(R.drawable.menu_beh);
// imageView.setPadding(8, 8, 8, 8);
else
imageView = (ImageView) convertView;
String s=(String)HiveApp.mgd[position].posters[2].image.url;
// imageView.setImageDrawable(getPicture(items[position]));
HiveApp.id.download(s, imageView);
// id.DisplayImage(s, imageView);
return imageView;
【问题讨论】:
【参考方案1】:我自己解决了,你应该把它添加到你的布局xml中
android:listSelector="@drawable/panel_picture_frame_background"
不是这个
imageView.setBackgroundResource(R.color.gridview_highlight_selector);
谢谢
【讨论】:
也为我工作。上面的选项崩溃了。【参考方案2】:将包含以下内容的imageview_highlight_selector.xml
文件添加到drawable
文件夹,然后调用imageView.setBackgroundResource(R.drawable.gridview_highlight_selector);
。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/highlight_bg" /> <!-- pressed -->
<item android:drawable="@drawable/normal_bg" /> <!-- default -->
</selector>
我建议你在一个 xml 文件中定义你的 gridview 项目,然后从你的 Java 代码中扩充那个 xml,这样会更整洁。
编辑:
如果只想使用颜色而不是drawable,可以在res
文件夹下添加color
子文件夹,在color
文件夹下添加gridview_highlight_selector.xml
以下内容,调用imageView.setBackgroundResource(R.color.gridview_highlight_selector);
在您的代码中:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#ffff" />
<item android:color="#ff3697de" />
</selector>
【讨论】:
感谢您的回答,但这会改变项目背景的状态,并且橙色高亮不会消失...以上是关于Android如何更改gridview突出显示颜色?的主要内容,如果未能解决你的问题,请参考以下文章
更改或完全删除 Android 上 Google Maps v2 的 InfoWindow 的突出显示颜色
如何更改 Java Swing TextArea 中的突出显示颜色?此外,更改与突出显示位置对应的文本的开头
如何更改标签栏图标的突出显示颜色? (iPhone/iPad)