如何利用android的ScaleGestureDetector中的焦点来缩放就像android浏览器一样?

如何利用android的ScaleGestureDetector中的焦点来缩放就像android浏览器一样?,第1张

概述我有一个画布,我使用ScaleGestureDetector来放大我的 Android应用程序.这是我到目前为止的代码: //SCALING -------------------------------------------------- //get center of the viewport int centerX = xLoc+((int)(screenW 我有一个画布,我使用ScaleGestureDetector来放大我的 Android应用程序.这是我到目前为止的代码:
//SCAliNG --------------------------------------------------        //get center of the vIEwport        int centerX = xLoc+((int)(screenWIDth/2*scaleFactor));        int centerY = yLoc+((int)(screenHeight/2*scaleFactor));        scaleFactor /= detector.getScaleFactor();        // Don't let the object get too small or too large.        scaleFactor = Math.max(1.0f,Math.min(scaleFactor,maxScaleFactor));                        //Make sure the vIEwport is repositioned        xLoc = centerX-((int)(screenWIDth/2*scaleFactor));        yLoc = centerY-((int)(screenHeight/2*scaleFactor));            //-----------------------------------------------------------

这非常适合放大和缩小画布. xLoc和yLoc表示我的视口的左上角与我绘制的一部分相关的整个图像.我对此代码的问题是,它放大到视口的中心.我希望能够使用detector.getFocuxX()和detector.getFocusY()来放大@H_419_5@焦点,就像在AndroID浏览器缩放缩放一样.

基本上我需要调整视口的位置(xLoc和yLoc),以便它给出缩放到缩放手势焦点的外观.

我无法理解这一部分.如果有人知道如何在不使用画布矩阵转换的情况下做到这一点(我在发布之前已经在我发现的许多主题中使用过)我真的很感激!即使你可以把我指向做过类似事情的其他人.

解决方法 单个onScale函数调用无法提供足够的信息来实现围绕明显焦点的缩放.您需要保留之前onScale调用中的getFocusX()和getFocusY()值,并使用它们来影响下一次调用中的缩放. 总结

以上是内存溢出为你收集整理的如何利用android的ScaleGestureDetector中的焦点来缩放就像android浏览器一样?全部内容,希望文章能够帮你解决如何利用android的ScaleGestureDetector中的焦点来缩放就像android浏览器一样?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1135489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存