對於本地圖片我們可以通過selector來輕鬆的實現點擊態。
但是在我們的項目中,一個關於對非本地圖片的點擊態實現還是難倒了不少人;因此專門寫本博文來說明。
實際上Android中非本地圖片的點擊態起實現原理很簡單,只需要在ImageView被按下時,改變其顯示圖片的Alpha值就可以了。
樣本1
程式碼片段1
複製代碼 代碼如下: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;
}};
程式碼片段2 複製代碼 代碼如下:View adsView = inflater.inflate(R.layout.ads_item, null);
ImageView img1 = (ImageView) adsView.findViewById(R.layout.ads_item_left);
ImageView img2 = (ImageView) adsView.findViewById(R.layout.ads_item_right);
img1.setImageURI(uri1);
img2.setImageURI(uri2)
img1.setOnTouchListener(onTouchListener);
img2.setOnTouchListener(onTouchListener);
結束!