簡體   English   中英

獲取ListView中滾動條的位置(而不是位置項)

[英]Get the position of scrollbars(not the position item) in a ListView

我正在實現一個時間軸UI,它基本上是一個ListView 棘手的部分是當用戶滾動ListView ,它將在滾動條旁邊顯示一個文本框(顯示時隙,例如9:00 am)。 它在左側,相鄰並隨滾動條一起移動。

我正在使用OnScrollListener來檢測滾動事件。 但是我不知道如何獲取滾動條的確切位置(頂部,中點,底部),以便將文本框放在正確的位置。 有很多關於獲取頂部項目位置的文章,但似乎不適用於滾動條本身。

有什么想法嗎?

順便說一句,很抱歉沒有附加用戶界面的屏幕截圖。 由於我是新用戶,所以Stackoverflow不允許我這樣做。

但是我不知道如何獲取滾動條的確切位置(頂部,中點,底部),以便將文本框放在正確的位置

您可能想要類似Path應用程序的東西。 本教程是您要尋找的(可能,如果您尚未看到的話)。

基本上, ListView有一些使用的有關滾動條位置(也包括大小)的方法,但是這些方法被聲明為protected ,因此無法從外部使用,因此您需要擴展ListView類。 這些方法是ListView.computeVerticalScrollExtent()ListView.computeVerticalScrollOffset()ListView.computeVerticalScrollRange()

使用這些方法,您應該能夠確定滾動條在偵聽器中特定時刻的放置位置。

getListView()。getLastVisiblePosition()

listview.post(new Runnable() {
    public void run() {
        listview.getLastVisiblePosition();
    }
});

View.getScrollY()

getScrollY :返回此視圖的滾動頂部位置。 這是視圖顯示部分的頂部邊緣。 您無需在其上方繪制任何像素,因為這些像素不在屏幕視圖框架之內。

返回值視圖的顯示部分的頂部邊緣,以像素為單位。

另請參閱: http : //eliasbland.wordpress.com/2011/07/28/how-to-save-the-position-of-a-scrollview-when-the-orientation-changes-in-android/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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