gpt4 book ai didi

android - 在 viewflipper 中缩放图像

转载 作者:行者123 更新时间:2023-11-29 22:10:02 25 4
gpt4 key购买 nike

我使用 ViewFlipper 创建了一个图像幻灯片。我用过 imageFrame.setOnTouchListener(gestureListener);监听用户触摸事件,如单击、长按

但现在我想放大/缩小幻灯片放映 (ViewFlipper) 中的当前图像,由用户双击。我已经在互联网上搜索了这个但找不到解决方案。请帮帮我。

最佳答案

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

在您的处理程序中,您可以缩放图像。下面是一些使用 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);
}
});

关于android - 在 viewflipper 中缩放图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9846914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com