例如在适配器中:
设置监听:
viewholder.g_imageview_item.setOnTouchListener(onTouchListener);
View.OnTouchListener onTouchListener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
imageView = (ImageView) v;
if (event.getAction() == MotionEvent.ACTION_DOWN) {
imageView.setImageDrawable(g_context.getResources().getDrawable(R.drawable.moreapp_filter));//蒙版图片
imageView.invalidate();
}
return false;
}
};
然后在条目点击事件中清除imageview:
convertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
g_onClick.onClick(position, channel);
if (imageView != null) {
imageView.setImageDrawable(null);
}
}
});
g_imageview_item的布局如下:
其中@drawable/moreapp_filter是一张阴影图片
android:id="@+id/moreitem_imageView_icon"
android:layout_width="54dip"
android:layout_height="54dip"
android:src="@drawable/moreapp_filter"
android:scaleType="centerCrop"
android:layout_centerHorizontal="true"
android:layout_marginBottom="6dip"
android:layout_marginTop="20dip" />
另外还有一篇比较好的文章:
或者:
View.OnTouchListener onTouchListener =new View.OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
ImageView imgView=(ImageView )v;
if(event.getAction()==MotionEvent.ACTION_DOWN) {
imgView.setAlpha(0xDF);
imgView.invalidate();
} else if(event.getAction()==MotionEvent.ACTION_UP||event.getAction()==MotionEvent.ACTION_CANCEL) {
imgView.setAlpha(0xFF);
imgView.invalidate();
}
return false;
}};
不过上面的这种效果不是很好。