Android 在viewflipper中缩放图像

Android 在viewflipper中缩放图像,android,image,viewflipper,zooming,Android,Image,Viewflipper,Zooming,我用ViewFlipper创建了一个图像幻灯片。 我使用了imageFrame.setOnTouchListener(手势Listener);要收听用户触摸事件,如单次点击、长时间点击 但现在我想通过用户双击的方式放大/缩小幻灯片(ViewFlipper)中的当前图像。我在互联网上搜索了这一点,但没有找到解决方案。请帮助我。有很多方法可以做到这一点,但一个简单的方法是使用平台的,这是一个由+/-按钮组成的简单小部件。您可以附加onZoomInClickListener和onzoomoutclic

我用ViewFlipper创建了一个图像幻灯片。 我使用了imageFrame.setOnTouchListener(手势Listener);要收听用户触摸事件,如单次点击、长时间点击


但现在我想通过用户双击的方式放大/缩小幻灯片(ViewFlipper)中的当前图像。我在互联网上搜索了这一点,但没有找到解决方案。请帮助我。

有很多方法可以做到这一点,但一个简单的方法是使用平台的,这是一个由+/-按钮组成的简单小部件。您可以附加
onZoomInClickListener
onzoomoutclickllistener
来处理对ZoomControl小部件的触摸

在处理程序中,可以缩放图像。下面是一些使用ScaleAnimation进行缩放的示例代码:

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);
    }
});
iv=(ImageView)findViewById(R.id.ImageView);
zc=(ZoomControl)findViewById(R.id.zoom_控件);
setOnZoomInClickListener(新的OnClickListener(){
公共void onClick(视图v){
float oldZoom=currentZoom;
currentZoom=currentZoom*1.25;
zc.setIsZoomOutEnabled(真);
如果(3.0<当前缩放){
zc.setIsZoomInEnabled(假);
}
scaleAnim=新缩放图像(oldZoom、currentZoom、oldZoom、currentZoom、0,0);
scaleAnim.setFillAfter(true);
iv.启动(scaleAnim);
}
});
zc.setOnZoomOutClickListener(新的OnClickListener(){
公共void onClick(视图v){
float oldZoom=currentZoom;
currentZoom=currentZoom/1.25;
zc.setIsZoomInEnabled(真);
如果(0.33>当前缩放){
zc.setIsZoomOutEnabled(假);
}
scaleAnim=新缩放图像(oldZoom、currentZoom、oldZoom、currentZoom、0,0);
scaleAnim.setFillAfter(true);
iv.启动(scaleAnim);
}
});

哪一部分给您带来了麻烦-检测双击或缩放视图?缩放视图。基本上是用户正在查看幻灯片,如果他正在查看的图像想要缩放,他可以通过在运行幻灯片时双击该图像来实现。如果您将视图放在ViewFlipper中,所以你应该在某个地方找到它的参考资料。谢谢你的有用片段:)