zoukankan      html  css  js  c++  java
  • android点击实现图片放大缩小 java技术博客

    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;  
          }  
     }
    路漫漫其修远兮 吾将上下而求索
  • 相关阅读:
    你应该知道的77条 Windows 7小技巧
    Platform Builder: Build Tools Intro
    JavaScript面向对象编程实现研究
    优秀驾驶员开车技巧
    WinCE BSP中的Dirs文件和Sources文件
    WinCE BSP中的Dirs文件和Sources文件
    WIX资源
    男性减肥方法!!!!!(转)
    Platform Builder: Sources.cmn
    批处理中的字符串处理详解
  • 原文地址:https://www.cnblogs.com/hudabing/p/3075355.html
Copyright © 2011-2022 走看看