在onCreate方法中自动Android Scroll ScrollView

时间:2016-05-25 09:50:38

标签: android

我有一些日历的kinde,我使用ScrollView滚动到几天 我希望它在创建它将滚动到今天日期 这是我使用的鳕鱼:

scrollV.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        scr.post(new Runnable() {
            public void run() {
                scrollV.scrollTo(0,3);                          }
        });
    }
});

3只是为了测试我稍后会改变它;提前谢谢。

2 个答案:

答案 0 :(得分:1)

final ScrollView scrollview = ((ScrollView) findViewById(R.id.scrollview));
 scrollview.post(new Runnable() {
    @Override
    public void run() {
      scrollview.fullScroll(ScrollView.FOCUS_DOWN);
    }
 });

或以太使用此。

 final long totalScrollTime = Long.MAX_VALUE;
 final int scrollPeriod = 20;
 final int heightToScroll = -8;

timerDown = new CountDownTimer(totalScrollTime, scrollPeriod) {
 @SuppressLint("NewApi")
 public void onTick(long millisUntilFinished) {
  scrollview.scrollListBy(heightToScroll);
}

 public void onFinish() {
  timerDown.cancel();
 }

};

答案 1 :(得分:0)

我解决了 这是任何人需要它的答案: 只需将一个计时器放在OnCreate方法或onCreateView中,如果它是一个片段

new java.util.Timer().schedule(
                new java.util.TimerTask() {
                    @Override
                    public void run() {
                        list.smoothScrollToPosition(day);
                    }
                },
                4000
        );

day是你要列表的变量,滚动到它的日期对我来说, list是列表视图