当前位置: 代码迷 >> Android >> android点击兑现图片放大缩小
  详细解决方案

android点击兑现图片放大缩小

热度:95   发布时间:2016-05-01 12:39:14.0
android点击实现图片放大缩小
mainactivity类
package com.example.androidsvg; import android.app.Activity; import android.os.Bundle; import android.view.Menu; public class MainActivity extends Activity  { private static final double ZOOM_IN_SCALE = 1.25;//放大系数  private static final double ZOOM_OUT_SCALE = 0.8;//缩小系数 @SuppressWarnings("null") @Override protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(new Zoom(this)); } @Override public boolean onCreateOptionsMenu(Menu menu) {   // Inflate the menu; this adds items to the action bar if it is present.   getMenuInflater().inflate(R.menu.activity_main, menu);   return true; } } 


Zoom类
package com.example.androidsvg; import android.view.View; import android.content.Context;   import android.graphics.Canvas;   import android.graphics.drawable.Drawable;   import android.view.KeyEvent;   public class Zoom extends View {      private Drawable image;        private int zoomControler=20;              public Zoom(Context context){            super(context);            image=context.getResources().getDrawable(R.drawable.icon);            setFocusable(true);        }              @Override        protected void onDraw(Canvas canvas) {            // TODO Auto-generated method stub            super.onDraw(canvas);            //控制图像的宽度和高度          image.setBounds((getWidth()/2)-zoomControler, (getHeight()/2)-zoomControler, (getWidth()/2)+zoomControler, (getHeight()/2)+zoomControler);            image.draw(canvas);        }              @Override        public boolean onKeyDown(int keyCode, KeyEvent event) {                                if(keyCode==KeyEvent.KEYCODE_DPAD_UP)//放大                      zoomControler+=10;                             if(keyCode==KeyEvent.KEYCODE_DPAD_DOWN) //缩小                      zoomControler-=10;                             if(zoomControler<10)                        zoomControler=10;                                invalidate();                return true;        }   }


  相关解决方案