簡體   English   中英

如何在實現多點觸摸屏的Android應用程序中將最小縮放限制在屏幕尺寸上?

[英]How to limit minimum zoom to a screen size in Android application implementing multi-touch screen?

我使用“ Hello Android”中的代碼來實現多點觸摸屏。 它允許拖動手勢和捏縮放。

這種實現方式的問題是圖片可能變得非常小或從屏幕上移出。 有一種解決方案可以限制縮放和平移(http://www.zdnet.com/blog/burnette/how-to-use-multi-touch-in-android-2-part-6-implementing-the-pinch -zoom-gesture / 1847)。 它將縮放限制為一定大小。 在Android Gallery應用程序中,縮放的最小尺寸是屏幕尺寸。

如何實現呢?

理想情況下,您希望將圖像的寬度和高度限制在視圖范圍內。 您可以在自定義視圖中使用onSizeChanged方法獲取界限。

定義一個minScale(根據視圖大小)和maxScale(根據原始圖像比例),然后在更改圖像的變換矩陣之前,檢查最終比例是否在此范圍內。

您將必須對寬度和高度應用相同的比例因子,以保持相同的縱橫比。

-編輯-已將其放在Github上: https : //github.com/a85/WebComicViewer/blob/master/src/com/rickreation/ui/ZoomableImageView.java

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM