Существует несколько способов сделать это, но простым способом является использование ZoomControls widget платформы, которая представляет собой простой виджет, состоящий из кнопки +/-. Вы можете прикрепить onZoomInClickListener
и onZoomOutClickListener
, чтобы обрабатывать штрихи к виджету ZoomControls.
В вашем обработчике вы можете масштабировать свое изображение. Вот пример кода, который использует масштабирование для масштабирования:
iv = (ImageView) findViewById(R.id.imageview);
zc = (ZoomControls) findViewById(R.id.zoom_controls);
zc.setOnZoomInClickListener(new OnClickListener() {
public void onClick(View v) {
float oldZoom = currentZoom;
currentZoom = currentZoom * 1.25;
zc.setIsZoomOutEnabled(true);
if (3.0 < currentZoom) {
zc.setIsZoomInEnabled(false);
}
scaleAnim = new ScaleAnimation(oldZoom, currentZoom, oldZoom, currentZoom, 0, 0);
scaleAnim.setFillAfter(true);
iv.startAnimation(scaleAnim);
}
});
zc.setOnZoomOutClickListener(new OnClickListener() {
public void onClick(View v) {
float oldZoom = currentZoom;
currentZoom = currentZoom/1.25;
zc.setIsZoomInEnabled(true);
if (0.33 > currentZoom) {
zc.setIsZoomOutEnabled(false);
}
scaleAnim = new ScaleAnimation(oldZoom, currentZoom, oldZoom, currentZoom, 0, 0);
scaleAnim.setFillAfter(true);
iv.startAnimation(scaleAnim);
}
});
Какая часть дает вам проблемы - обнаружение двойного касания или увеличение масштаба? –
масштабирование представления. В основном пользователь просматривает слайд-шоу, и если изображение, которое он просматривает, хочет быть увеличенным, он может сделать это путем двойного касания на этом изображении при запуске слайд-шоу – kapil