簡體   English   中英

如何從多頁面android view pager中獲取最左側的可見頁面索引?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM