100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > android scrollview滚动条初始位置 ScrollView 设置滚动条的位置

android scrollview滚动条初始位置 ScrollView 设置滚动条的位置

时间:2021-01-01 11:34:53

相关推荐

android scrollview滚动条初始位置 ScrollView 设置滚动条的位置

================= (一)设置滚动条的初始位置 ============================================

ScrollView 的滚动条默认置顶,若想设置它的位置,可以使用

mScrollView.smoothScrollTo(x,y)方法,可达到效果。

本人在开发过程中发现,使用mScrollView.scrollTo(x,y)方法,首次初始化时无效果,

改用 mScrollView.smoothScrollTo(x,y)则成功了!

注意:mScrollView.scrollTo(x,y) 方法不太好用的原因是:据资料说ScrollTo方法设置滚动的位置,将会调用 onScrollChanged(int,int ,int,int)方法,视图被视为无效。

================= (二)将滚动条设置到底部 ==================================================

太不容易了!!终于找到了好用的啊啊啊 !!!!!

Android将ScrollView移动到最底部

scrollTo方法可以调整view的显示位置。

在需要的地方调用以下方法即可。

scroll表示外层的view,inner表示内层的view,其余内容都在inner里。

注意,方法中开一个新线程是必要的。

否则在数据更新导致换行时getMeasuredHeight方法并不是最新的高度。

public static void scrollToBottom(final View scroll, final View inner) {

Handler mHandler = new Handler();

mHandler.post(new Runnable() {

public void run() {

if (scroll == null || inner == null) {

return;

}

int offset = inner.getMeasuredHeight() - scroll.getHeight();

if (offset < 0) {

offset = 0;

}

scroll.scrollTo(0, offset);

}

});

}

================ (三)番外篇 ==================================================

public static int getHeight(View view) //获得某组件的高度

{

int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);

int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);

view.measure(w, h);

return view.getMeasuredHeight();

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。