我使用 HorizontalScollView 实现圆形自动水平滚动。
我做了什么:我添加了子线性布局,其中包含初始默认子视图,比如说 10。
private void startScrolling() {
handler.postDelayed(new Runnable() {
public void run() {
counter = (int) (counter + 10);
handler.postDelayed(this, 100);
viewCount++;
if(viewCount == MAX_CHILD) {
viewCount = 0;
resetViewPosition(0);
}
mScroller.scrollTo(counter , 0);
}
}, 1000L);
}
现在一旦滚动开始,它会删除第一个索引视图,并在视图的最后添加相同的元素。由于使用 postDelay() 实现的计时器,视图继续滚动。
private void resetViewPosition(int viewIndex) {
View view = llParent.getChildAt(viewIndex);
Log.v(TAG, "resetViewPosition : "+view.getId()+", "+llParent.getChildCount());
llParent.removeViewAt(viewIndex);
llParent.addView(view);
}
问题:ScrollView 在滚动初始元素长度后停止滚动,即它没有随着线性布局的添加新子元素而扩展。
请建议我在这里可以做些什么来实现相同的功能。