【Android】爲ImageView添加陰影效果(模態效果)

例如在適配器中:
java

設置監聽: android

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:
app

convertView.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				g_onClick.onClick(position, channel);
				if (imageView != null) {
					imageView.setImageDrawable(null);
				}
			}
		});

g_imageview_item的佈局以下:ide

其中@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" />

另外還有一篇比較好的文章:.net

ImageView陰影效果
code

或者:blog

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; 
}};

不過上面的這種效果不是很好。事件

相關文章
相關標籤/搜索