2016-02-03 54 views
0

我有一個代碼。此代碼關於在scrollview中自動滾動,但滾動視圖只在我按下按鈕時運行。我想運行沒有按鈕。如何解決這個問題?如何解決這個沒有按鈕的自動滾動查看?

代碼:

 final ScrollView scrollView = (ScrollView) findViewById(R.id.sv); 
    Button start = (Button) findViewById(R.id.button_start); 

    final Handler timerHandler = new Handler(); 
    final Runnable timerRunnable = new Runnable() 
    { 


     @Override 
     public void run() { 
      scrollView.smoothScrollBy(0,1);  
      timerHandler.postDelayed(this, 50); 

     } 
    }; 

    start.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       timerHandler.postDelayed(timerRunnable, 0); 
      } 
     });} 

回答

0

如果你需要自動滾屏,你可以試試這個。

scrollView.post(new Runnable() { 
     public void run() { 
      mScrollView.scrollTo(0, scrollView.getBottom()); 
     } 
}); 

方法2

scrollView.fullScroll(scrollView.FOCUS_DOWN); 

方法3

scrollview.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { 
    @Override 
    public void onGlobalLayout() { 
     scrollview.post(new Runnable() { 
      public void run() { 
       scrollview.fullScroll(View.FOCUS_DOWN); 
      } 
     }); 
    } 
}); 

滾動型與動畫

ObjectAnimator animator=ObjectAnimator.ofInt(scrollview, "scrollX",targetXScroll); 
animator.setDuration(800); 
animator.start(); 
+0

讓我知道這個答案是否有幫助。 –

+0

這是工作,但不是慢慢滾動。 –

+0

我更新了我的答案 –