Selain menggunakan zoom control untuk setting zoom in/out suatu tampilan diandroid, bisa juga kita defenisikan dengan menggunakan teknik tombol atas/bawah di keypad untuk inisialisasi setting zoom pada tampilan android.

Berikut adalah contohnya :

Zoom.java

package Doa.Harian;

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.doaakanmakan);
		setFocusable(true);
		
	}
	@Override
	protected void onDraw(Canvas canvas) {
		// TODO Auto-generated method stub
		super.onDraw(canvas);

	//mengatur besarnya tampilan
 	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;
	}
}

Penjelasan :
Object image yang kita gunakan didefenesikan dengan code

image=context.getResources().getDrawable(R.drawable.doaakanmakan);

Kondisi jika keypad up/down ditekan dengan coding berikut :

if(keyCode==KeyEvent.KEYCODE_DPAD_UP)// zoom in
			zoomControler+=10;
		if(keyCode==KeyEvent.KEYCODE_DPAD_DOWN) // zoom out
			zoomControler-=10;

Mengatur besarnya tampilan

//mengatur besarnya tampilan
 	image.setBounds((getWidth()/2)-zoomControler, (getHeight()/2)-zoomControler, (getWidth()/2)+zoomControler, (getHeight()/2)+zoomControler);

Mudah2 an berguna.

uxc.wilis
🙂