【Android】为ImageView添加阴影效果(模态效果)
例如在适配器中:
设置监听:
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是一张阴影图片
<ImageView 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; }};
不过上面的这种效果不是很好。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。