藉助以下鏈接,我已成功實現了自定義相對佈局中的縮放和平移/拖動功能。設置平移/拖動Zoomable自定義相對佈局的邊界限制
1)。一個很好的教程 - making-sense-of-multitouch
2)。 (SO鏈接)Extending RelativeLayout, and overriding dispatchDraw() to create a zoomable ViewGroup
3)。 (SO鏈接)Scroll/Panning or drag in custom layout
這是我的完整工作代碼。
https://gist.github.com/pandeyGitHub/6805840。
和我layout.xml看起來像這樣: -
<com.myzoomproject.views.ZoomableRelativeLayout
android:id="@+id/root_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.myzoomproject.views.CustomViewPager
android:id="@+id/pager_test2"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</com.myzoomproject.views.ZoomableRelativeLayout>
我的自定義相對佈局包含viewpager和我viewpager每一單頁包含2-4 imageviews(一個全屏的ImageView &幾個可點擊更小的圖像瀏覽)。縮放&平移頁面工作得很好。
問題1: 但不知何故,我不能夠設置爲平移功能邊界限制。該頁面會在超滾屏幕上消除屏幕。
問題2: 此外,似乎圖像視圖平移/翻譯僅在圖紙而不是在現實中。因爲他們在屏幕上離開原始位置的那一刻不再可點擊,&可點擊座標僅限於其原始位置。
我在SO link 1,link 2,link 3上查找了幾個類似的問題,但它們都基於ImageView縮放而不是自定義佈局縮放。
因此,與他們不同,我沒有參考我的ZoomableRelativeLayout中的圖像瀏覽。參考Imageviews,閱讀顯示它們的位圖&由其他類(MyPagerActivity & MyPagerFragment類)負責。此外,上述鏈接中的解決方案依賴於矩陣轉換,我可能無法在我的情況下使用它。
期待任何幫助。
謝謝。
你解決了這個問題嗎?不幸的是,我也一樣。 –
是的。我已在下面發佈我的答案。這只是現在的解決方法。 – epiphany27