Gallery怎么设置当前被选中的那张图片的背景色? 我想把当前被选中的图片的背景色设置单独的一个颜色如黄色,其他没有被选中的图片还是默认背景色,这样容易区分哪个图当前被选中的。但我的实现总是有问题,老是两张图片同时显示黄色,包括当前被选中的和前一个被选中的。不知道该怎么解决,谁能指点一下呢?多谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在XML文件中写一个 <selector> 吧,这个跟那个Button中被选中的应该是一样的吧 在XML文件中写一个 <selector> 。其中定义当你图片无操作的显示、获得焦点时候的显示效果、被点击的时候显示的效果等等。如果要实现你说说的,只需要定义图片获取焦点和失去焦点的时候显示的效果即可。给个例子:<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/button_bkg_selected" /> <item android:state_pressed="true" android:drawable="@drawable/button_bkg_clicked" /> <item android:drawable="@drawable/button_bk" /></selector>应用的时候和你引用图片的时候是一样的。 多谢。这样可以实现点击图片时被点击图片的背景变成button_bkg_clicked,但直接按键盘左右导航键图片背景一直是button_bk。不知道什么原因。另外还有一个问题。在主activity中,除了一个gallery外,还有一个imageSwitcher用于现实当前点击或选择的图片。点击imageSwitcher中的图片时,打开一个新的activity,全屏显示此图片。但是在主activity执行点击,左右键选择等几次操作后,再点击imageSwitcher的图片,迁移到新activity后显示的图片就不是imageSwitcher中显示的图片了。但是debug时,通过intent传递过来的图片id是一致的,但在新的activity中取得的图片却变了。代码如下:1.主activity中点击imageSwitcherimageSwitcher.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { Intent intent = new Intent(Test_Gallery.this, DisplayImage.class); Bundle bundle = new Bundle();// 该类用作携带数据 bundle.putInt("imageId", imageId); Log.i(TAG, "onClick, imageId = " + imageId); intent.putExtras(bundle);// 附带上额外的数据 startActivity(intent); } });2.新activity中取出imageIdBundle bundle = this.getIntent().getExtras(); Integer imageId = bundle.getInt("imageId"); Log.i(TAG, "onCreate, imageId = " + imageId); http://www.cnblogs.com/noTice520/archive/2011/03/09/1978408.html 我也想知道,gallery系统自带的背景就那一个吗?如何改背景 in-app Billing 内置收费问题 为什么访问SDK的doc,还要访问google.com android不能自动启动apk 如何使用adb logcat只打印RILC信息? Android自动选中文件 Android调用WebService(cxf),部分字符乱码 新手问题,如何自定义标题栏且保留系统默认的风格 一个定位的问题 SwipeRefreshLayout.setRefreshing(false) 停不下来 肿么办啊! phonegap 如何修改HTML5 默认标签 样式 关于tabhost中进行参数传递的问题 ExpandableListView分割线粗细不一
其中定义当你图片无操作的显示、获得焦点时候的显示效果、被点击的时候显示的效果等等。
如果要实现你说说的,只需要定义图片获取焦点和失去焦点的时候显示的效果即可。
给个例子:<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false"
android:drawable="@drawable/button_bkg_selected" />
<item android:state_pressed="true" android:drawable="@drawable/button_bkg_clicked" />
<item android:drawable="@drawable/button_bk" />
</selector>
应用的时候和你引用图片的时候是一样的。
这样可以实现点击图片时被点击图片的背景变成button_bkg_clicked,但直接按键盘左右导航键图片背景一直是button_bk。不知道什么原因。另外还有一个问题。
在主activity中,除了一个gallery外,还有一个imageSwitcher用于现实当前点击或选择的图片。
点击imageSwitcher中的图片时,打开一个新的activity,全屏显示此图片。
但是在主activity执行点击,左右键选择等几次操作后,再点击imageSwitcher的图片,迁移到新activity后显示的图片就不是imageSwitcher中显示的图片了。但是debug时,通过intent传递过来的图片id是一致的,但在新的activity中取得的图片却变了。
代码如下:
1.主activity中点击imageSwitcher
imageSwitcher.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(Test_Gallery.this, DisplayImage.class);
Bundle bundle = new Bundle();// 该类用作携带数据
bundle.putInt("imageId", imageId);
Log.i(TAG, "onClick, imageId = " + imageId);
intent.putExtras(bundle);// 附带上额外的数据
startActivity(intent);
}
});2.新activity中取出imageId
Bundle bundle = this.getIntent().getExtras();
Integer imageId = bundle.getInt("imageId");
Log.i(TAG, "onCreate, imageId = " + imageId);