PinchZoom не работает с scaleType:matrix
Здравствуйте, я новичок в Android. Я работаю над приложением, в котором мне нужно перевернуть изображения (например, галерею) и увеличить изображение в фокусе. В настоящее время переворачивание (с использованием viewFlipper) и пинч в Zoom работает нормально.
Но я хочу остановить Flipping на последнем изображении.
я использовал ViewFlipper.stopFlipping()
и работает нормально, если я установил scaleType:fitXY
в XML, но pinchZoom не работает с ним.
А ТАКЖЕ
Если я использую ScaleType:matrix
Пинч- зум работает, но при остановке переключения на последнем изображении он обрезает последнее изображение.
Я много искал, но не нашел ничего полезного. Любая помощь будет высоко оценена. Я был в этой проблеме в течение многих дней.
1 ответ
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)// zoom in
zoomControler+=10;
if(keyCode==KeyEvent.KEYCODE_DPAD_DOWN) // zoom out
zoomControler-=10;
if(zoomControler<10)
zoomControler=10;
invalidate();
return true;
}
}