[英]How to grab the left-most viewable page index from a multi-page android view pager?
當前,通過將viewpager與線性布局之上的x個可見頁面分層,來構建自定義的Toggle小部件(也就是這些類型的事物的分段控件,也稱為Tab布局)。
像這樣
........|......android screen...|
|..not..|visible|visible|visible|..not..|
問題是pager.getCurrentItem()不能始終返回最左邊的可見項目,而是返回最近拖動的頁面。
如果對此有任何簡單的解決方案,我很想在嘗試建立一個完整的跟蹤系統之前先聽一下。
謝謝!
我不完全確定用例是什么,以及類似此庫的內容是否有幫助。
如果你願意來管理自己的傳呼,你可以使用RecyclerView
代替ViewPager,由於設置新的LinearLayoutManager
上,將允許你findFirstCompletelyVisibleItemPosition
,如所描述的文檔
可行的方法是,首先設置一個水平布局管理器:
LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
myRecyclerView.setLayoutManager(layoutManager);
然后,您可以在處理代碼中使用layoutManager.findFirstCompletelyVisibleItemPosition()
。 還可以查看其他可用方法-在獲取第一個/最后一個,完全/部分可見的項目時非常方便。
這種方法是靈活的,假設recyclerview的適配器數與您擁有的段數相同,但是您必須根據需要管理滾動以模擬分頁。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.