我有一个里面有LinearLayout的HorizontalScrollView。 使用大量TextViews(动态)填充此LinearLayout。 我想根据某些索引将HorizontalScrollView滚动到指定的TextView。 我试试这个但不起作用
while (!this.stopsCursor.isAfterLast()) {
int index = this.stopsCursor.getInt(this.stopsCursor.getColumnIndex("index"));
if (index == session.getServiceStopIndex()) {
TextView view = (TextView) this.linearLayout.getChildAt(index);
StyleHelper.setStopHighlight(view);
Log.v("TEST", "Left : " + view.getLeft() + " Right : " + view.getRight());
int offsetX = ((view.getLeft() + view.getRight()) / 2);
this.horizontalScrollView.scrollTo(offsetX, 0);
}
this.stopsCursor.moveToNext();
}
我的记录器显示左:0右:0 有人能帮我吗? 提前谢谢!
答案 0 :(得分:0)
问题可能是您在布局之前尝试获取视图的左侧和右侧。您需要稍后在布局流程中移动此代码。如果没有更多关于何时滚动的上下文,很难确切地说移动它的位置,但是如果它在创建后立即(并且我假设您在活动的onCreate
周围填充LinearLayout)那么你可能会我希望看一下覆盖View.onSizeChanged
然后再做。