在Android开发中很多时候会遇到一屏显示不下所有内容的现象,那大家也知道这个时候肯定会想到用scrollview来进行滚屏显示。

这个时候由于某些需求,会要求在最开始显示scrollview的时候就定位到某一处,这篇就是来讲这个的哈~
首先,scrollView.scrollTo( x, y );这个方法是能对滚动条进行定位的,这个大家都知道。
But,貌似很多时候这个方法的调用没有什么效果呀……
上面所说的调用scrollTo方法看上去好像并没有起到对滚动条进行定位的效果,其实是因为我们是在onCreate里调用的这个方法,而在onCreate方法没有结束的时候,activity的数据并没有完全加载好,所以这个时候调用该方法不会有什么实际的效果的。
So,正确的调用方法来啦~
先定义一个runnable接口
private Runnable runnable = new Runnable() {
@Override
public void run() {
scrollView.scrollTo(0, 300);// 改变滚动条的位置
}
};
然后在你想要主动定位滚动条位置的地方用一个handler来把这个runnable对象post出来,最好来个延时
handler = new Handler(); handler.postDelayed(runnable, 200);
这个样子就可以起到主动定位scrollview到任意位置的作用啦~
另外还有一些情况是要直接将scrollview定位到最底端显示的,可以采用如下方法
scrollView.scrollTo(0, linearLayout.getMeasuredHeight() - scrollView.getHeight());
其中,linearLayout是scrollview里的子view,这样就可以在显示的时候就直接显示scrollview的最底部了哟~
ScrollView滚动到指定位置
final TextView titleTwo = (TextView) findViewById(R.id.title_two);
final boolean scrollDown = getIntent().getBooleanExtra(SCROLL_DOWN, false);
mRootScrollView = (ScrollView) findViewById(R.id.root);
if (scrollDown) {
mRootScrollView.post(new Runnable() {
@Override
public void run() {
//To change body of implemented methods use File | Settings | File Templates.
// mRootScrollView.fullScroll(ScrollView.FOCUS_DOWN);
int[] location = new int[2];
titleTwo.getLocationOnScreen(location);
int offset = location[1] - mRootScrollView.getMeasuredHeight();
if (offset < 0) {
offset = 0;
}
mRootScrollView.smoothScrollTo(0, offset);
}
});
}
滚到到底部:
mRootScrollView.fullScroll(ScrollView.FOCUS_DOWN);
滚动到顶部:
mRootScrollView.fullScroll(ScrollView.FOCUS_UP);
注意需要post 一个runnable,让其在消息队列中执行滚动!
第一,handler.post(runnable);并不是新开线程,只是让UI主线程去并发执行run()方法。
第二,之所以放在handler里,是为了保证View都已经绘制完成。不然,你放在resume()中执行,应该也可以的。
第三,smoothScrollTo类似于scrollTo,但是滚动的时候是平缓的而不是立即滚动到某处。另外,smoothScrollTo()方法可以打断滑动动画。
以上这篇android scrollview 滑动到顶端或者指定位置的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# scrollview滑动到顶部
# Android中实现监听ScrollView滑动事件
# Android中实现水平滑动(横向滑动)ListView示例
# android 通过向viewpage中添加listview来完成滑动效果(类似于qq滑动界面)
# Android App中ViewPager所带来的滑动冲突问题解决方法
# Android中RecyclerView实现横向滑动代码
# 解析Android中实现滑动翻页之ViewFlipper的使用详解
# Android利用ViewPager实现滑动广告板实例源码
# Android App中使用ViewPager+Fragment实现滑动切换效果
# Android中ViewPager带来的滑动卡顿问题解决要点解析
# Android实现View滑动效果的6种方法
# 这个时候
# 滚动条
# 放在
# 给大家
# 这篇
# 就可以
# 有什么
# 是在
# 是因为
# 大家都
# 而在
# 没有什么
# 希望能
# 新开
# 来个
# 类似于
# 能对
# 滚屏
# 还有一些
# 所有内容
相关文章:
相册网站制作软件,图片上的网址怎么复制?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
,网站推广常用方法?
大连网站设计制作招聘信息,大连投诉网站有哪些?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
建站之星价格显示格式升级,你的预算足够吗?
建站中国官网:模板定制+SEO优化+建站流程一站式指南
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
完全自定义免费建站平台:主题模板在线生成一站式服务
如何选择PHP开源工具快速搭建网站?
如何彻底删除建站之星生成的Banner?
高端网站建设与定制开发一站式解决方案 中企动力
如何正确选择百度移动适配建站域名?
Swift中swift中的switch 语句
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
网站制作软件有哪些,制图软件有哪些?
如何选择最佳自助建站系统?快速指南解析优劣
如何在云主机快速搭建网站站点?
制作公司内部网站有哪些,内网如何建网站?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
如何通过WDCP绑定主域名及创建子域名站点?
如何快速搭建个人网站并优化SEO?
如何用好域名打造高点击率的自主建站?
如何通过网站建站时间优化SEO与用户体验?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
建站之星2.7模板快速切换与批量管理功能操作指南
建站之星3.0如何解决常见操作问题?
如何在香港服务器上快速搭建免备案网站?
西安专业网站制作公司有哪些,陕西省建行官方网站?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
css网站制作参考文献有哪些,易聊怎么注册?
,怎么在广州志愿者网站注册?
网站制作报价单模板图片,小松挖机官方网站报价?
如何通过老薛主机一键快速建站?
5种Android数据存储方式汇总
建站之星备案流程有哪些注意事项?
建站168自助建站系统:快速模板定制与SEO优化指南
怎么将XML数据可视化 D3.js加载XML
已有域名和空间如何搭建网站?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
如何用花生壳三步快速搭建专属网站?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
寿县云建站:智能SEO优化与多行业模板快速上线指南
如何在服务器上配置二级域名建站?
网站设计制作企业有哪些,抖音官网主页怎么设置?
购物网站制作公司有哪些,哪个购物网站比较好?
三星网站视频制作教程下载,三星w23网页如何全屏?
制作网站外包平台,自动化接单网站有哪些?
如何在局域网内绑定自建网站域名?
*请认真填写需求信息,我们会在24小时内与您取得联系。