Android 手势滑动,多点触摸放大缩小图片
2015-10-26 13:30
543 查看
效果展示:
package com.basecontrol.ui; import com.basecontrol.view.ImageControl; import com.basecontrol.view.ImageControl.ICustomMethod; import com.example.basecontrol.R; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; public class ImageViewActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bc_common_image_view); findView(); } public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); init(); }; ImageControl imgControl; LinearLayout llTitle; TextView tvTitle; private void findView() { imgControl=(ImageControl) findViewById(R.id.common_imageview_imageControll); llTitle=(LinearLayout) findViewById(R.id.common_iamgeview_llTitle); tvTitle=(TextView) findViewById(R.id.common_imageview_title); } private void init() { tvTitle.setText("图片测试"); // 这里可以为imgcontrol的图片路径动态赋值 // ............ Bitmap bmp; if (imgControl.getDrawingCache() != null) { bmp = Bitmap.createBitmap(imgControl.getDrawingCache()); } else { bmp = ((BitmapDrawable)imgControl.getDrawable()).getBitmap(); } Rect frame = new Rect(); getWindow().getDecorView().getWindowVisibleDisplayFrame(frame); int statusBarHeight = frame.top; int screenW = this.getWindowManager().getDefaultDisplay().getWidth(); int screenH = this.getWindowManager().getDefaultDisplay().getHeight() - statusBarHeight; if (bmp != null) { imgControl.imageInit(bmp, screenW, screenH, statusBarHeight, new ICustomMethod() { @Override public void customMethod(Boolean currentStatus) { // 当图片处于放大或缩小状态时,控制标题是否显示 if (currentStatus) { llTitle.setVisibility(View.GONE); } else { llTitle.setVisibility(View.VISIBLE); } } }); } else { Toast.makeText(ImageViewActivity.this, "图片加载失败,请稍候再试!", Toast.LENGTH_SHORT) .show(); } } @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()&MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: imgControl.mouseDown(event); break; case MotionEvent.ACTION_POINTER_DOWN: imgControl.mousePointDown(event); break; case MotionEvent.ACTION_MOVE: imgControl.mouseMove(event); break; case MotionEvent.ACTION_UP: imgControl.mouseUp(); break; } return super.onTouchEvent(event); } } ImageViewActivity 嗯,就酱………… 相关文章推荐
|