我有一個ViewPager。現在我需要添加NavigationDrawer。如果用戶位於viewPager的第一頁(左側第一頁),並且他從左向右滑動,則需要顯示導航抽屜。我怎樣才能做到這一點?我必須重寫OnTouch監聽器嗎?
換句話說,我所需要的NavigationDrawer通過刷卡整個碎石出現,並且不僅在畫面的邊緣在第一頁上滑動查看傳呼機時顯示導航畫面
0
A
回答
0
我想你需要創建一個自定義視圖尋呼機和覆蓋onTouchEvent
的方法來檢測,當你在第一頁和滾動由左到右,使其打開導航抽屜
1
設置一個PageChangeListener對你的看法尋呼機
pager = (ViewPager) findViewById(R.id.tutorial_pager);
pager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrolled(int position, float positionOffset,
int postitionOffsetPixels) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
然後在onPageScrolled使用位置== 1,位置偏移觸發一個mNavigationDrawer.openDrawer(gr avity)
+0
看起來像很好的解決方案。謝謝 –
2
private ViewPager.OnPageChangeListener mPageChangeListener =
new ViewPager.OnPageChangeListener() {
private int times = 0;
@Override
public void onPageScrolled(int position, float positionOffset,
int positionOffsetPixels) {
Log.d(TAG, "position:" + position
+ "\noffset: " + positionOffset
+ "\npixels: " + positionOffsetPixels);
if (position == 0 && positionOffset == 0 && positionOffsetPixels == 0) {
times++;
if (times >= 3) {
mDrawerLayout.openDrawer(mNavigationView);
}
}
}
@Override
public void onPageSelected(int position) {}
@Override
public void onPageScrollStateChanged(int state) {
if (state == ViewPager.SCROLL_STATE_IDLE) {
times = 0;
}
}
};
你需要計算位置== 0 & & positionOffset == 0 & & positionOffsetPixels == 0的時候,因爲情況會發生在PAGE_1到PAGE_0
相關問題
- 1. 導航抽屜和查看傳呼機在同一活動
- 2. 如何在android中查看傳呼機的所有片段上顯示動畫?
- 3. Playstore應用程序如何在查看傳呼機上顯示多個頁面
- 4. 如何在查看傳呼機上使用滑動抽屜?
- 5. 在頁面之間導航時總是顯示加載動畫?
- 6. 查看傳呼機嵌入滾動視圖時不光滑?
- 7. 向上滑動面板以查看尋呼機標題條
- 8. 在手機上查看時頁面顯示較大嗎?
- 9. 滑動顯示導航「點」
- 10. 在頁面上向下滾動時突出顯示導航點
- 11. 向左滑動不能在android espresso中查看傳呼機
- 12. 查看傳呼機只顯示1列表查看
- 13. Silverlight動畫頁面導航
- 14. 查看傳呼機在活動
- 15. 查看傳呼機內部查看傳呼機刷卡衝突
- 16. 滑動動畫一次僅顯示一個頁面
- 17. 導航抽屜與查看傳呼機與標籤不工作
- 18. 滑動動畫導航angularjs
- 19. 通過在手機上滑動導航
- 20. 如何在用戶更改/滑動頁面時更改查看尋呼機中的頁面?
- 21. 查看傳呼機不能順利滑動
- 22. 可以查看傳呼機有兩個滑動輸入
- 23. 查看尋呼機移動到新頁面時佈局向上滾動
- 24. 下拉導航欄顯示在同一頁上的第二個導航欄下
- 25. 用指示器滑動查看尋呼機
- 26. 自定義,向上滑動,在每個頁面上導航xcode
- 27. 總是在CGridView上顯示傳呼機?
- 28. 查看傳呼機一次又一次地滑動相同的圖像
- 29. 查看傳呼機與ExecuteTask
- 30. 傳呼機HTML查看器
有你實現整個東西?因爲導航抽屜會在您從任何片段的左邊屏幕邊緣滑動時自動打開。 –
@twntee是的,但我需要它不僅從視圖尋呼機的第一頁上的屏幕邊緣被刷過。 –