PinchZoom 不适用于scaleType:matrix

发布于 2024-12-13 08:32:02 字数 377 浏览 2 评论 0原文

您好,我是 Android 新手。我正在开发一个应用程序,其中需要翻转图像(如图库)并缩放图像焦点。当前翻转(使用 viewFlipper em>)并捏合缩放工作正常。

但我想停止翻转最后一张图像。

我已经使用了 ViewFlipper.stopFlipping() ,如果我在 xml 中设置了scaleType:fitXY ,它的工作正常但捏缩放不能使用它

并且

如果我使用 ScaleType:matrix 捏合缩放可以工作,但是在停止最后一个图像的翻转时,它会剪切最后一个图像。

我已经搜索过很多,但没有得到任何有用的东西。 任何帮助将不胜感激。我已经解决这个问题很多天了。

Hello I am new to Android.I am working on an application in which I need to flip the images(like gallery) and zoom the image in focus.Currently the flipping(using viewFlipper) and pinch to Zoom is working fine.

But I want to stop Flipping on last image.

I have used ViewFlipper.stopFlipping() and its works fine if I set scaleType:fitXY in xml but pinchZoom does not work with it.

AND

If I use ScaleType:matrix the pinch zoom works but on stopping the flipping on last image,it cuts the last image.

I have searched alot but haven't got any thing useful.
Any help will highly be appreciated.I have been in this problem from many days.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薯片软お妹 2024-12-20 08:32:02
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;
}

}

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;
}

}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文