mainActivity如下:
package cn.c;import android.app.Activity;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.widget.ImageView;/** * 需求描述: * ImageView載入網狀圖片,在點擊ImageView的時候實現點擊的效果 * 類似於本地圖片的相關操作 * 實現方式: * 對於ImageView實現OnTouchListener()處理其點擊事件 * 在點擊事件時改變ImageView控制項的Alpha * 注意問題: * onTouch()中return true;否則只能監聽到按下 * 不能監聽到抬起 * */public class MainActivity extends Activity { private ImageView mImageView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); init(); } private void init(){ mImageView=(ImageView) findViewById(R.id.imageView); //擷取網狀圖片的過程,省略 //mImageView.setImageBitmap(bitmap from network); mImageView.setOnTouchListener(new TouchListenerImpl()); } private class TouchListenerImpl implements OnTouchListener{public boolean onTouch(View v, MotionEvent event) {ImageView imageView=(ImageView) v;//按下if (event.getAction()==MotionEvent.ACTION_DOWN) {System.out.println("down down down ");imageView.setAlpha(0);imageView.invalidate();}//抬起if (event.getAction()==MotionEvent.ACTION_UP|| event.getAction()==MotionEvent.ACTION_CANCEL) {System.out.println("up up up ");imageView.setAlpha(200);imageView.invalidate();}return true;} } }
main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ImageView載入的是網狀圖片,在點擊ImageView的時候實現點擊的效果.類似於本地圖片的相關操作" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <ImageView android:id="@+id/imageView" android:layout_width="80dip" android:layout_height="80dip" android:src="@drawable/ic_launcher" android:layout_centerInParent="true" /></RelativeLayout>