如何使Android GridView中选中图片时变大,而当焦点离开该图片后缩小
来源:互联网 发布:js frameelement 编辑:程序博客网 时间:2024/05/05 03:34
用Android实现的浏览器导航界面,如下图所示:
GridView
如上图所示的众多图片是用GridView实现的。而GridView使用的时候一般都要setAdapter(...)
[Java] 纯文本查看 复制代码
1
GrideView.setAdapter(BaseAdatper)
一般都通过继承BaseAdapter来实现自己的Adapter。有一些必须实现的方法:
[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
// How many items are in the data set represented by this Adapter.
public
int
getCount() {
}
// Get the data item associated with the specified position in the data set.
public
Object getItem(
int
position) {
}
// Get the row id associated with the specified position in the list.
public
long
getItemId(
int
position) {
}
// Get a View that displays the data at the specified position in the data set.
public
View getView(
int
position, View convertView, ViewGroup parent) {
}
为了使GridView里面的Item被选中的时候能够放大,而离开的时候又变回原来的大小,我也是煞费苦心,找了很多资料,最后在
http://my.oschina.net/u/126188/blog/28990
这个网页上找到了可以借鉴的地方,感谢分享。
其实就是使用了
[Java] 纯文本查看 复制代码
1
2
3
4
5
private
int
selected = -
1
;
public
void
notifyDataSetChanged(
int
id) {
selected = id;
super
.notifyDataSetChanged();
}
并在 getView中进行判断:
[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
public
View getView(
int
position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
MyImageButton imgBtn;
imgBtn =
new
MyImageButton(
this
.context, photoLink[position]);
if
(selected == position) {
// the special one.Scale Large
imgBtn.setScaleType(ScaleType.CENTER_CROP);
}
else
{
// the rest.Scale small
imgBtn.setScaleType(ScaleType.CENTER_INSIDE);
}
return
(View)imgBtn;
}
当我们的GridView设置了Adapter的时候,我们就可以设置OnItemSelectedListener了
[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
zonesView.setOnItemSelectedListener(
new
OnItemSelectedListener() {
public
void
onItemSelected(AdapterView<?> arg0, View arg1,
int
arg2,
long
arg3) {
Log.d(
"zonesView"
,
"onItemSelected"
);
ImageAdapter zonesImageAdapter = (ImageAdapter) zonesView.getAdapter();
zonesImageAdapter.notifyDataSetChanged(arg2);
}
public
void
onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
这样一来,当GrideView的Item被选中的时候就会放大,而其他未被选中的就会变小。
0 0
- 如何使Android GridView中选中图片时变大,而当焦点离开该图片后缩小
- 如何使Android GridView中选中图片时变大,而当焦点离开该图片后缩小
- Android GridView中选中图片时变大,而当焦点离开该图片后缩小
- android中从图库中选取图片
- 图片真的变大缩小了
- 当鼠标移动到图片使其变大
- Android中图片的放大与缩小
- android中图片的放大缩小拖动
- 读取数据库中数据,在页面上直接显示图片(点击该图片变大)
- Android 图片放大缩小
- android 图片放大缩小
- android 图片放大缩小
- android 放大缩小图片
- jsp中,当鼠标移动到图片上时,显示该图片的大图
- 图片缩小后加入内存
- Android ScrollView下拉图片变大
- 图片像素问题:如何保持图片大小不变而图片容量缩小
- SharePoint designer中图片缩小后变模糊的处理
- MYSQL忘记root密码重置方法
- HIVE 基本命令
- CentOS6.6下DHCP服务器配置
- 小米随身WiFi,Linux下AP热点驱动(开源)
- 遇到的问题-----you can't add a second 'treePath' criteria. Query already contains
- 如何使Android GridView中选中图片时变大,而当焦点离开该图片后缩小
- C++ 虚函数和基类指针数组应用
- iOS中通知机制
- 如何在应用和设备间共享数据之一共享简单的数据之发送
- Ajax的简单运用
- 数组/链表/Hash
- 帝国cms,开发记录
- 身份证验证格式。Java
- 完美配置Tomcat的HTTPS