2010-06-14 4 views
0

나는 약간의 샘플 코드를 사용하여 사용자가 화면을 터치하고 코드를 확대하여 오류없이 실행할 수 있도록 조정하려고 시도하지만 화면을 터치해도 아무 것도 발생하지 않습니다.ontouch를 사용하여 확대/축소

package com.thomas.zoom; 

import android.content.Context; 
import android.graphics.Canvas; 
import android.graphics.drawable.Drawable; 
import android.view.KeyEvent; 
import android.view.MotionEvent; 
import android.view.View; 

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); 
     //here u can control the width and height of the images........ this line is very important 
     image.setBounds((getWidth()/2)-zoomControler, (getHeight()/2)-zoomControler, (getWidth()/2)+zoomControler, (getHeight()/2)+zoomControler); 
       image.draw(canvas); 
     } 
     public boolean onTouch(int action, MotionEvent event) { 
       action= event.getAction(); 
       if(action == MotionEvent.ACTION_DOWN){ 
        zoomControler+=10;    
        } 


       invalidate(); 
       return true; 
     } 
} 

답변

1

하이 ontouch 이벤트는 축소 이미지

그래서 당신이

public boolean onKeyDown(int keyCode, KeyEvent event) { 
      if(keyCode==KeyEvent.KEYCODE_DPAD_UP)// zoom in 
        zoomControler+=10; 
      if(keyCode==KeyEvent.KEYCODE_DPAD_DOWN) // zoom out 
        zoomControler-=10; 
      if(zoomControler<10) 
        zoomControler=10; 

      invalidate(); 
      return true; 
    } 
onkeylistener 사용

에 대한 좋지 않다
관련 문제