ScrollView滚动到底部使用的scrollTo和fullScroll方法的异同

关于浏览器(二)浏览器 滚动到顶部;滚动到底部 滚动到顶部 阅读详情

scrollTo和fullScroll两个方法经常被用来做滚动到底部的操作

不过就这个功能而言 也是有不同之处的

使用fullScroll滚动到底部 使用的参数为 FOCUS_DOWN 顾名思义 和 焦点有关

fullScroll 代码如下

/**
 * <p>Handles scrolling in response to a "home/end" shortcut press. This
 * method will scroll the view to the top or bottom and give the focus
 * to the topmost/bottommost component in the new visible area. If no
 * component is a good candidate for focus, this scrollview reclaims the
 * focus.</p>
 *
 * @param direction the scroll direction: {@link android.view.View#FOCUS_UP}
 *                  to go the top of the view or
 *                  {@link android.view.View#FOCUS_DOWN} to go the bottom
 * @return true if the key event is consumed by this method, false otherwise
 */
public boolean fullScroll(int direction) {
    boolean down = direction == View.FOCUS_DOWN;
    int height = getHeight();

    mTempRect.top = 0;
    mTempRect.bottom = height;

    if (down) {
        int count = getChildCount();
        if (count > 0) {
            View view = getChildAt(count - 1);
            mTempRect.bottom = view.getBottom() + mPaddingBottom;
            mTempRect.top = mTempRect.bottom - height;
        }
    }

    return scrollAndFocus(direction, mTempRect.top, mTempRect.bottom);
}

/**
 * <p>Scrolls the view to make the area defined by <code>top</code> and
 * <code>bottom</code> visible. This method attempts to give the focus
 * to a component visible in this area. If no component can be focused in
 * the new visible area, the focus is reclaimed by this ScrollView.</p>
 *
 * @param direction the scroll direction: {@link android.view.View#FOCUS_UP}
 *                  to go upward, {@link android.view.View#FOCUS_DOWN} to downward
 * @param top       the top offset of the new area to be made visible
 * @param bottom    the bottom offset of the new area to be made visible
 * @return true if the key event is consumed by this method, false otherwise
 */
private boolean scrollAndFocus(int direction, int top, int bottom) {
    boolean handled = true;

    int height = getHeight();
    int containerTop = getScrollY();
    int containerBottom = containerTop + height;
    boolean up = direction == View.FOCUS_UP;

    View newFocused = findFocusableViewInBounds(up, top, bottom);
    if (newFocused == null) {
        newFocused = this;
    }

    if (top >= containerTop && bottom <= containerBottom) {
        handled = false;
    } else {
        int delta = up ? (top - containerTop) : (bottom - containerBottom);
        doScrollY(delta);
    }

    if (newFocused != findFocus()) newFocused.requestFocus(direction);

    return handled;
}

可以看到 fullScroll将视图滚动到底部 同时焦点作出了改变

scrollTo方法 只执行移动至某位置 不对其他属性作出修改

因此 使用 fullScroll 来执行滚动到底部时 需注意 此时你的UI焦点已经发生变化 且 底部UI无法获得焦点时 此方法无效

js:scroll平滑滚动页面或元素到顶部或底部的方案汇总 可能在部分老旧设备上存在兼容性,从网上收集了一个多设备支持的缓冲方案margin : 0; 阅读详情

相关推荐

STM32 ADC+DMA实战:手把手教你驱动XGZP6847A压力传感器(附完整代码)

本文详细介绍了如何使用STM32的ADC和DMA外设驱动XGZP6847A压力传感器,包括硬件连接、ADC配置、DMA高效传输实现以及数据处理与校准方法。通过实战案例和完整代码,帮助开发者快速掌握高精度压力数据采集技术,适用于工业控制和医疗设备等领域。

weixin_42570484的博客 404

Android开发对ScrollView直接使用fullscroll无法拉到最低或最顶部的问题

安卓开发时使用fullscroll无法拉到最低或最顶部的问题

打不死的小五 1562

GPU架构-SIMT

本文深度剖析了GPU的SIMT架构,从硬件实现层面解析其与SIMD的本质差异。SIMT通过将32个线程捆绑为warp执行,在标量编程模型下实现数据并行。文章对比了SIMD和SIMT的执行模型、分支处理机制及存储层次,指出SIMT是对SIMD的虚拟化抽象。重点分析了Volta架构引入的独立线程调度技术,以及访存合并对性能的关键影响。通过定量数据展示了各代GPU架构的寄存器文件规模和线程调度机制,为开发者优化GPU程序提供了硬件层面的理论基础。

技术引领业务创新 976

ScrollView手动滑动到屏幕底部,fullScroll

需求场景: 嵌套了ScrollView,在底部代码设置VIew显示,但是不会滑动出来,所以就必须代码自动把ScrollView内容滑动出来。 解决: scrollView有一个fullScroll方法, mScrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部 mScrollView.fullScroll(ScrollView.F

zhou_shaowen的专栏 3158

OCR文字识别领域经典论文总结

本篇将介绍文字识别经典论文,内容包括文字检测、文字识别、端到端识别等方法,具体将分别对论文算法简介、思路、代码等几个部分展开介绍。目前各部分只举例经典论文,算法没有全部写完,后续会将在此部分基础上更新更多论文综述及代码实战部分。.................................

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 1万+

前端使用二开Thingsboard一、二、三事(三)-规则链

以项目实战为基础,逐步介绍前端在thingsboard系统二次开发中的一些注意事项以及一些thingsboard一些页面功能讲解,为前端人员开发使用thingsboard提供一种可靠思路,打造一个完美的物联网系统。

weixin_43163457的博客 863

fullScroll滚动不到底部

如果在TextView的append后面马上调用fullScroll,会发现无法滚动到真正的底部,这是因为Android下很多(如果不是全部的话)函数都是基于消息的,用消息队列来保证同步,所以函数调用多数是异步操作的。当TextView调用了append会,并不等text显示出来,而是把text的添加到消息队列之后立刻返回,fullScroll被调用的时候,text可能还没有显示,自然无法滚动到正

For The Future 5618

『杭电1199』Color the Ball

Problem Description There are infinite balls in a line (numbered 1 2 3 ....), and initially all of them are paint black. Now Jim use a brush paint the balls, every time give two integers a b and follow by a char 'w' or 'b', 'w' denotes the ball from a to

漠宸离若的博客 498

滑动到底部

$(document).height();//文档高度 $(window).height();//是文档窗口高度 $(“div”).offset().top//是标签距离顶部高度 (window).scrollTop();//是滚动条高度和(window).scrollTop();//是滚动条高度 和(window).scrollTop();//是滚动条高度和(document).scrollTo...

走火入魔的轮叔叔 703

【Arduino+ESP32专题】CP2102串口自动下载电路

CP2102串口自动下载电路原理是什么?

一点硬件 2958

资源分享·病毒样本下载资源分享

一、微步云沙箱 微步在线云沙箱https://s.threatbook.cn/ 使用病毒sha256即可寻找病毒样本;该站点也可上传可疑文件/可疑URL地址到沙箱中,进行分析 。 以永恒之蓝为例,样本sha256是:ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa 下载样本或流量监控,需要消耗积分: 二、AnyRun Interactive Online Malware Analysis Sandbox.

不忘初心,护天下安全! 2万+

Android中ScrollView显示底部或任意位置

Android 中提供了scrollTo和fullScroll两个方法可以用来做滚动到底部的操作。  1、fullScroll 显示顶部: scrollView.fullScroll(ScrollView.FOCUS_UP);   显示底部: scrollView.fullScroll(ScrollView.FOCUS_DOWN);

tanglili08的博客 3267

Palantir 凭什么两年涨 20 倍?深度解析解决 AI 幻觉的 “本体论“ 核心原理

本文深度解析了Palantir本体(Ontology)的核心原理及其在企业AI应用中的革命性价值。本体通过构建结构化的语义层与动态执行层,将企业分散的数字资产(数据集、虚拟表、模型)映射为现实世界的数字孪生,使大模型能够在**严格的业务规则与数据边界内**进行推理与决策,从而从架构层面彻底解决AI幻觉问题。这一技术架构不仅帮助Palantir实现股价两年增长20倍、市值突破4000亿美金的商业成功,更成为SAP、Salesforce等ERP巨头争相模仿的下一代企业智能标准范式。通过航空业飞机故障应急处理等实

program哲学 230

解决ScrollView滑动过程中ScrollTo()方法不起作用的问题

原文 本篇文章作为新的类别 “Android经验之谈” 开篇之作,记录实际开发中遇到的比较“奇怪”的问题以及解决方案,不求长篇大论,但求短小精悍,一两句话讲明问题及解决方案,画龙点睛,一语道破天机。 有时候,一句提醒,能让人豁然开朗,少走很多弯路。 案例:阅读软件中用ScrollView嵌套TextView显示章节内容 问题:当滑动Scrol

sun_star1chen的专栏 4448

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ScrollView 相关操作(滚动,判断位置)

后面持续as问题(1)解决ScrollView加载完数据后会滑到下面   https://blog.youkuaiyun.com/ctluo111/article/details/72901526用ScrollView嵌套Webview或者listview之,当加载数据完之后,scrollview会滑动一段距离这个问题。最开始的时候用view.postdelay,让数据加载完之后scrollview.scro...

5144

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Javascript:滚动到页面/窗口的底部

window.scrollTo(0,document.body.scrollHeight);

qq_43667836的博客 1260

js浏览器操作工具函数及方法说明(滚动到底部顶部指定元素,打开及退出全屏,获取可视窗口宽高)

js滚动到页面底部顶部及指定元素区域,打开及退出全屏,获取可视窗口宽高

Ghmin的博客 2088

JS滑动到页面顶部(或底部)

window.scrollTo(0, document.documentElement.clientHeight);

xiaopeng_han123的博客 4万+

关于ScrollView.scrollTo 不起作用

在实际开发中通常会遇到scrollview中嵌套warp的listview,不过某写情况会出现页面加载完后不是在顶部的问题,这时候我们就需要用到scrollTo的方法来做修正一般我们会直接使用 ScrollView.scrollTo(x,y) 经过调试,查看源码的scrollTo方法发现问题所在 /** * {@inheritDoc} * * <p>This version also clamps the scrolling to the boun

fl2502923的博客 716

Android设置ScrollView回到顶部的三种方式

一、ScrollView.scrollTo(0,0)  直接置顶,瞬间回到顶部,没有滚动过程,其中Y值可以设置为大于0的值,使Scrollview停在指定位置; 二、ScrollView.fullScroll(View.FOCUS_UP)  类似于手动拖回顶部,有滚动过程; 三、ScrollView.smoothScrollTo(0, 0) 类似于手动拖回顶部,有滚动过程,其中Y值可以设置为大

xuanhg221的博客 1万+

ScrollView(滚动条)

ScrollView(滚动条)

扬帆起航 630

关于Scrollview.scrollTo()不生效的问题

项目中遇到的需求是界面打开时scrollview滚动到上次选中的位置,结果在调用Scrollview.scrollTo()时代码不生效。查看Scrollview源码发现在创建时有自己的动画。@Override protected void onLayout(boolean changed, int l, int t, int r, int b) { super.onLayo...

old_land的博客 8626

scrollTo 滚动到指定的位置

顶部元素用 fixed 做了粘性定位后,希望滚动到该定位元素的下方。首先计算 lives 的高度,再计算 shop 距离顶部的距离。使用 window.scrollTo 滚动。

sinat_37897240的博客 426

vue中滚到页面最底部scrollTop不生效,解决

1.滚动的div必须是父级,2.父级需要设置overflow:auto和高度,3.子级高度比父级高度高。

michael1991117的博客 2826

ScrollView滚动到底部3种方案(巧解现实产品一个需求)

3种实现ScrollView滚动到底部

小贱人_001的博客 1万+
上一篇: staruml license 授权
下一篇: 博客数据库设计
Excing
博客等级 码龄18年 2粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值