2012-11-23 43 views
0

我在水平滚动视图中有一个线性布局(用按钮填充)。在运行时,它将加载新数据并从线性布局的开始添加视图。例如,在添加视图之前,scrollx为1000,并显示按钮A.但添加视图后,scrollx保持为1000,但它显示了按钮A的一些新增加的按钮未读。 我希望在添加后,当前显示不会改变。只有当我向左移动时,我才能看到新增的视图。在滚动视图的开始动态添加视图

任何人都可以提供一些帮助吗?谢谢。

回答

0

您可以设置新按钮的特定宽度(或通过覆盖自定义按钮上的onMeasure来测量它)。然后手动滚动到1000 + newWidth。

请注意,手动滚动应该可能发生在绘制视图后,因此将其作为UI线程上的可运行对象应该可以工作。

+0

谢谢。但手动滚动到1000 + newWidth会导致显示的滚动显示,对用户体验不友好。 – lseeo

+0

我认为如果您在添加按钮的同时发布可运行的Horizo​​ntalScrollView.scrollTo(x,0),它们应该同时发生。如果你正确的测量(使用Horizo​​ntalScrollView.getScrollX()获得1000),用户不应该注意任何事情。 – barkside

+0

我跟着你的解决方案,并尝试一个简单的例子,它仍然会导致一个快速的闪光。 – lseeo