簡體   English   中英

Android:如何在頂部滾動 ScrollView

[英]Android: How to scroll ScrollView in top

我有兩個按鈕可以切換到下一個事件列表和上一個事件列表。

當我 go 到下一個\上一個事件時,滾動仍然在下面的某個地方。 但我需要“倒帶”它。

我正在努力:

scrollViewEventDetails.pageScroll(ScrollView.FOCUS_UP);

和:

scrollViewEventDetails.scrollTo(0, 0); 

但它不起作用。 請幫忙!

你接下來應該寫:

scrollViewEventDetails.fullScroll(View.FOCUS_UP);//if you move at the end of the scroll

scrollViewEventDetails.pageScroll(View.FOCUS_UP);//if you move at the middle of the scroll

這對我不起作用:

scrollViewEventDetails.fullScroll(View.FOCUS_UP); //if you move at the end of the scroll

這對我有用:

scroll_view.smoothScrollTo(0,0);

scrollview.pageScroll(View.FOCUS_UP); 更加一致並且為我工作。 :)

這些電話的時機至關重要。 getViewTreeObserver().addOnGlobalLayoutListener 對我不起作用,但在我的活動中使用 onWindowFocusChanged 回調可以:

@Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);

        if (hasFocus) {
            mScrollView.fullScroll(View.FOCUS_UP);
        }
    }

我知道這是一篇舊文章,但代碼在某些地方有效而不在其他地方有效是有原因的。 如果在錯誤的地方調用它會被主線程中斷,特別是如果 ScrollView 必須滾動很長的距離。 因此,將您的電話放在自己的線程中。 固定的。

(new Thread(new Runnable(){
   public void run(){
      mScrollView.fullScroll(View.FOCUS_UP);
   }
})).start();

暫無
暫無

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

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