开发者

how to simulate zoom in or out event in android

How can I simulate the zoom in and zoom out event in android? It need to be existed in service and launch in any android AP. Ex: in an Image-relative AP and image implement zoom in and out event. When the service launch a zoom in or out event, the image will do what it do开发者_开发技巧. Thank a lot.


it is very easy to Zoom in and zoom out Images. take a look here using UP and Down Arrow keys , u can zoom in and zoom out the images.

zooming.java

import android.app.Activity;
import android.os.Bundle;

public class zooming extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(new Zoom(this));
    }
}

Zoom.java

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.view.KeyEvent;
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);
        }
        @Override
        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;
        }
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜