我制作了一个ViewFlipper
,用于在我从网上解析的新闻之间进行导航。
一切正常,但当我向下滚动当前项目然后导航到下一个/上一个项目时,ScrollView
不会滚动到新文章项目的顶部。它只是在我读完最后一个项目的地方“挂起”。
在onClick(View v)
方法的最后,我有thisScrollView.scrollTo(0, 0);
有趣的是,这适用于模拟器和索尼爱立信Xperia,但不适用于HTC Desire和Galaxy Tab。它不应与设备上的Android版本相关,因为该方法自API Level 1 ..
以来可用有人有任何想法吗?
答案 0 :(得分:1)
我还在包含ViewFlipper的ScrollView上尝试scrollTo(0,0)
作为孩子。结果并不那么准确。
然后我尝试了smoothScrollTo(0, 0);
,如下所示
_viewFlipperParentScrollView.fullScroll(View.FOCUS_UP);
_viewFlipperParentScrollView.pageScroll(View.FOCUS_UP);
_viewFlipperParentScrollView.smoothScrollTo(0, 0);
结果并不完全令人满意,但比
更好_viewFlipperParentScrollView.scrollTo(0, 0);
答案 1 :(得分:0)
我通常使用setSelectionAfterHeaderView来实现此目的,它适用于HTC设备。
答案 2 :(得分:0)
我有同样的问题,我把scoll的调用放在runnable中,并在UI消息队列可用时发布它。我不知道为什么会这样。
getView().post(new Runnable() {
@Override
public void run() {
myscrollView.fullScroll(ScrollView.FOCUS_UP);
myscrollView.smoothScrollTo(0,0);
}
});
我不知道为什么我需要这两个电话,因为他们做同样的事情。但这对我有用,但只做其中一个没有。