2015-09-26 68 views
-1

我有一個代碼,它放大和平移的ImageView矩陣,它運作良好,但我希望imageview不會縮放比我的屏幕小,我不希望它被放大非常多,我想設置一個限制如果圖像的寬度大於屏幕,並且如果圖像的高度大於屏幕,它應該垂直平移,我怎樣才能達到這個效果?我嘗試了一些麥克奧爾蒂斯的方法,但我無法讓他們工作。設置矩陣最小和最大比例ImageView?

回答

0

看看這個庫

https://github.com/davemorrissey/subsampling-scale-image-view

高度可配置的,與泛易於擴展視圖和縮放手勢不會丟失細節顯示巨大的圖像。完美的照片畫廊,地圖,建築計劃等

+0

感謝您的支持,但我應該保持我的項目儘可能乾淨,儘可能不使用庫 –

+1

還有一個選項。您可以查看他編寫的處理不同情況的代碼。 –

+1

我爲我的應用程序編寫了這段代碼,所以我確切地知道你在對付什麼。我正在爲你解答一個問題。 –

1

我編碼這個爲我的應用程序,它很棘手,讓它一切正常。

我創建了一些Rect s和RectF s來做很多臨時計算。當您不必爲每項操作分配這些資源時,效率更高。

我用Matrix.setRectToRect()找到最小的比例因子,最大值是3倍。然後在變焦後postScale後,我將新的[絕對]比例因子限制爲最小/最大值。

也在postScale之後,我還將矩形座標與屏幕座標進行比較,並添加一個平移以將圖像邊角保留在屏幕邊界之外。對於拖動操作也完成了相同的邏輯。

+0

謝謝,我真的得到了我應該做什麼的基本想法,並解決它,再次感謝! –

相關問題