我有一些日历的kinde,我使用ScrollView滚动到几天 我希望它在创建它将滚动到今天日期 这是我使用的鳕鱼:
scrollV.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
scr.post(new Runnable() {
public void run() {
scrollV.scrollTo(0,3); }
});
}
});
3只是为了测试我稍后会改变它;提前谢谢。
答案 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是列表视图