我想顯示圖像,並允許捏縮放。我的應用程序是一個空白的活動,帶有一個線性佈局,上面有ImageView,下面有一些按鈕的水平線性佈局。 我曾經嘗試都 PhotoView和TouchImageView 他們都有類似的問題:android捏合縮放庫的問題PhotoView和TouchImageView上的肖像圖像
- 右側工具欄菜單不響應觸摸(4.4.4和4.4.2)。 它似乎在5.0.2迴應。
- 以縱向模式拍攝的照片不能正確顯示或縮放:它們只使用ImageView的一部分。
我已經看過從TouchImageView代碼,並認爲我可以看到答案的問題2:程序獲得的寬度和高度從如下代碼:
float w = getDrawable().getIntrinsicWidth();
要正確顯示肖像模式照片在我的應用程序,我需要做這個
imageRotation = getOrientation(photoFilePath);
imgView.setRotation(imageRotation);
這旋轉照片顯示,但intrinsicWidth和intrinsicHeight不會改變。所以縮放軟件的尺寸是錯誤的。奇怪的是,這還沒有被抓到過。 (也許這是我的錯誤。) 如果我是正確的,那麼我需要更改代碼,以便測試imgView.ROTATION屬性。
編輯:我可以檢測旋轉,然後在縱向模式圖像中切換高度和寬度。這有點幫助,但還不夠。 imageview中仍有未使用的空白區域。需要更多的工作,這超出了我的技能。
感謝您的任何幫助。
我使用的是https://github.com/davemorrissey/subsampling-scale-image-view。試一試!這很棒,唯一的缺點是你需要實現像隱藏工具欄這樣的事情,但這並不困難。 – tim687
嗨。我從文件讀取圖像,獲取位圖,然後修改位圖並顯示該圖像。我可以使用這個庫來顯示位圖嗎? –
是的,你可以,但是我現在正在使用位圖來進行一些操作:使用位於內存中的位圖時,圖像的縮放和拖動速度會明顯變慢。我建議你先保存編輯後的圖像,然後用這個庫顯示它。 – tim687