используя касание, чтобы увеличить - PullRequest
0 голосов
/ 14 июня 2010

Я использовал какой-то пример кода и пытаюсь настроить его, чтобы позволить пользователю касаться экрана и увеличивать код без проблем, но когда я касаюсь экрана, ничего не происходит

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 Ответ

1 голос
/ 01 апреля 2011

Привет, событие касания не подходит для масштабирования изображений

, поэтому вы используете onkeylistener

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;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...