我的布局位于ScrollView
内。我想用我的搜索滚动的元素的id和元素的类型我发现下面的代码做了但是我没有成功滚动到特定于id的元素,我给了0,id作为两个参数
ScrollView sv = (ScrollView) mainActivity.findViewById(R.id.scrollview);
scrollview.scrollTo(0,id);
答案 0 :(得分:1)
获取ScrollView的ViewTreeObserver并将OnGlobalLayoutListener添加到ViewTreeObserver。然后从OnGlobalLayoutListener的onGlobalLayout()方法调用ScrollView.scrollTo(x,y)方法。
ScrollView mainScroll = (ScrollView) findViewById(R.id.average_scroll_mainScroll);
ViewTreeObserver vto = scrollView.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
public void onGlobalLayout() {
mainScroll.scrollTo(0, 0);
}
});
Source.礼貌 - fahmy:)
然而,这里的问题是它需要视图的位置才能滚动到而不是它的ID。 因此,您必须首先找到您的视图位置,然后将它们作为参数传递给scrollTo。使用以下内容获取位置
View.getLocationOnScreen(int[] location);
这将返回一个整数数组,其中(x = location [0]和y = location [1])。以下是此方法的docs。