首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android中文API——ScrollView

TextView类也有自己滚动功能,所以不需要使用ScrollView,但是只有两个结合使用,才能保证显示较多内容时候效率。但只有两者结合使用才可以实现在一个较大容器中一个文本视图效果。...此方法将视图滚动到顶部或者底部,并且将焦点置于新可视区域顶部/最底部组件。若没有适合组件做焦点,当前ScrollView会收回焦点。...返回值 是否取得了焦点 protected void onSizeChanged (int w, int h, int oldw, int oldh) 布局期间当视图大小发生改变时调用。...参数 w     视图当前宽度 h     视图当前高度 oldw       视图改变宽度 oldh       视图改变高度   六、补充 文章精选 Android ApiDemos.../ScrollView2 添加自动滚动和智能焦点切换 [Android学习指南]使用ScrollView实现滚动效果 Android中ScrollView与ListView共用问题解决方案   示例代码

4.5K30

Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能

然后对ListViewtouch事件进行监听,如果当前ListView已经滚动到顶部并且手指还在向下拉的话,那就将下拉头显示出来,松手后进行刷新操作,并将下拉头隐藏。原理示意图如下: ?...ableToPull) { yDown = event.getRawY(); } // 如果首个元素上边缘,距离父布局值为0,就说明ListView滚动到了最顶部,此时应该允许下拉刷新...在onTouch方法中第一行就调用了setIsAbleToPull方法来判断ListView是否滚动到了最顶部,只有滚动到了最顶部才会执行后面的代码,否则就视为正常ListView滚动,不做任何处理...当ListView滚动到了最顶部时,如果手指还在向下拖动,就会改变下拉头偏移值,让下拉头显示出来,下拉距离设定为手指移动距离1/2,这样才会有拉力感觉。...另外每次在下拉时候都还会调用updateHeaderView方法来改变下拉头中数据,比如箭头方向旋转,下拉文字描述改变等。

5.4K110
您找到你想要的搜索结果了吗?
是的
没有找到

android 有阻尼下拉刷新列表实现方法

根据以上分析,我们可以知道,重画子View原理就是: 当PullToRefreshListView已经滚动到顶部时候,通过监控滑动手势来计算distanceY,从而确定要将canvas向上移动多少再重画子...如果此时PullToRefreshListView没有“滚动到顶部”,则不做任何处理,反之则将lastAction更新为ACTION_MOVE状态,更新isPulling变量,记录当前手指位置作为计算下拉距离起始位置...在这个手势处理实现中,当用户在下拉过程中突然将PullToRefreshListView往上拉,如果将PullToRefreshListView 拉到不处于“滚动到顶部状态”时,则重置下拉状态,使得...下拉到“滚动到顶部”状态,则又重新执行上述操作,使PullToRefreshListView进入下拉状态。...如何判断ListView是否已经滚动到顶部 下一步,我们如何判断ListView是否处于“滚动到顶部”状态呢?这一问题我PullToRefreshListViewonScroll中解决。

3.4K10

Android中控制和禁止ScrollView自动动到底部方法

一、Android 控制ScrollView滚动到底部 在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等, 这里有两种办法,第一种,使用scrollTo(): public...scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部 需要注意是:该方法不能直接被调用 因为Android很多函数都是基于消息队列来同步,所以需要一部操作...为何如此 childView 有获取焦点能力 由于该 childView 超过屏幕大小,并且有获取焦点能力,所以造成了该问题。由于不能改变其大小,只能阻止其获取焦点。...基本思路有,取消它获取焦点能力,让ScrovView截获它焦点等。...如何解决 让 childView 焦点被截获 具体方案 ScrollView 下 LinearLayout 中加了android:descendantFocusability="blocksDescendants

3.4K20

Android带你解析ScrollView--仿QQ空间标题栏渐变

ScrollView滑动监听: Google并没有给我们提供ScrollView滑动距离、是否滑动到布局底部、顶部方法,但是提供了一个onScrollChanged方法: @Override...scrollViewListener.onScrollChanged(this, x, y, oldx, oldy); } } } 设置标题渐变 滚动监听暴露出来我们就该去设置标题栏随着ScrollView滑动来改变标题栏透明度实现渐变...image.png 然后我们需要获取图片高度,并且设置滚动监听,随着滚动距离来设置标题栏颜色透明度和字体颜色透明度 /** * 获取顶部图片高度后,设置滚动监听 */...//滑动到banner下面设置普通颜色 textView.setBackgroundColor(Color.argb((int) 255, 144,151,166));...其实并不难,只是我们没有亲自动手去实现,相信多动手自己亲自去实现一下,UI想要我们都可以实现。 源码地址:欢迎Star,fork,有问题多多指正。

1.5K10

移动端那些戳中你痛点软键盘问题及解决方法

Android 软键盘弹起表现 同样,在 Android 上,输入框获取焦点,键盘弹起,但是页面(webview)高度会发生改变,一般来说,高度为可视区高度(原高度减去软键盘高度),除了因为页面内容被撑开可以产生滚动...IOS 软键盘收起表现 触发软键盘上“收起”按钮键盘或者输入框以外页面区域时,输入框失去焦点,软键盘收起。 Android 软键盘收起表现 触发输入框以外区域时,输入框失去焦点,软键盘收起。...为了解决这个问题,ios设计者们让webview上,但滚动结果有些出乎意料:输入框本身可以理解地滚动到了实际可视区域正中间,但 fixed 元素不会发生重新计算,而是保持原来相对位置,跟着输入框一起被上推...这其实可能只适用于我这种情景,这个解决办法原理是:scrollIntoView(true)想让输入框顶部动到与可视区顶部齐平效果,但是由于ios键盘弹起之后最大滚动距离等于键盘高度,所以,通过这个方法会让...解决办法: 当键盘收起时,加入下面其中一种办法就可以解决 滚动到顶部 window.scrollTo(0,0) 滚动到底部 window.scrollTo(0, Math.max(document.body.clientHeight

7.6K30

让你布局滚动起来—ScrollView

注意: ScrollView子元素只能有一个,可以是一个 View(如 ImageView、 TextView等) 也可以是一个 ViewGroup(如 LinearLayout、 RelativeLayout...2. android:overScrollMode="never" 删除 ScrollView拉到尽头(顶部、底部),然后继续拉出现阴影效果,适用于2.3及以上 否则不用设置。...4. android:descendantFocusability="" 该属性是当一个为view获取焦点时,定义 ViewGroup和其子控件两者之间关系。...属性值有三种: beforeDescendants //viewgroup会优先其子类控件而获取到焦点 afterDescendants //viewgroup只有当其子类控件不需要获取焦点时才获取焦点...} }); 滑动位置控制 scrollView.post(new Runnable() { @Override public void run() { //滑动到顶部

3.3K30

Android开发笔记(四十四)动态UI事件

常用几个事件 动画事件 动画事件主要用于Animation控件,可监控动画开始、结束、重播等行为。...动画事件具体实现代码可参考《Android开发笔记(二十一)横幅轮播页Banner》。 翻页事件 翻页事件,主要用于ViewPager控件,可监控翻页状态变化、滚动、选定等行为。...在博文《Android开发笔记(二十)顶部导航栏ActionBar》里面,博主提到ActionBar自带搜索框SearchView,但是SearchView存在几点不足: 1、搜索按钮只能显示图标,...: 设置下拉列表宽度 setSingleLine : 设置列表中每个元素是否单行显示 示例代码主要实现了三个功能: 1、在文本框一开始获得焦点时,自动弹出历史搜索关键词下拉列表; 2、...点击下拉列表某项,文本框自动填入该项关键词文本; 3、点击搜索按钮,主页面通过回调获得搜索关键词,从而能够做进一步处理; 下面是AutoCompleteTextView方式效果图 ?

1.1K10

ViewPager,ScrollView 嵌套ViewPager滑动冲突解决

Layout 里面多多个孩子时候,当下面一个孩子是 RecyclerView 或者ListView 时候,往往会自动动到 ListView 或者 RecyclerView 第一个 item,导致进入界面的时候会导致...mNoHorizontalScrollView.scrollTo(0,0);方法,滑动到顶部,因为onWindowFocusChanged是在所有View绘制完毕时候才会回调,不熟悉的话建议先回去看一下...,让其获取焦点 view.setFocusable(true); view.setFocusableInTouchMode(true); view.requestFocus(); 这段代码在初始化时候就让该界面的顶部某一个控件获得焦点...(true); view.requestFocus(); 这段代码在初始化时候就让该界面的顶部某一个控件获得焦点,滚动条自然就显示到顶部了。...但是该方法存在缺点,就是当我们上面的view如果滑动到一半时候,切换到下一个Fragment,在切换回来时候,RecyclerView第一个item会自动动到顶部

5.6K51

Android之MaterialDesign应用技术

design,中文是设计之意,即“设想和计划,设想是目的,计划是过程安排”,通常指有目标和计划创作行为、活动。在这个竞争激烈数字化信息时代,企业建立自己网站已经刻不容缓。...>  1.2:Activity具体代码 SwipeDismissBehavior主要是控制控件行为,LayoutParams是布局参数,textview这个控件是在协调者布局中滑动,所以,要获取该布局参数...,然后再设置行为。...2.1:创建布局文件 外层是协调者布局,中间就是一个类似于listviewRecyclerView,和一个右下角返回顶部按钮。...比如说,toolbar在何时显示,可以选择只要是上滑就显示,也可以选择是滑到最上面的内容才显示,这个例子就是滑动到最上面的内容toolbar再显示。

1.3K90

ViewPager,ScrollView 嵌套ViewPager滑动冲突解决

Layout 里面多多个孩子时候,当下面一个孩子是 RecyclerView 或者ListView 时候,往往会自动动到 ListView 或者 RecyclerView 第一个 item,导致进入界面的时候会导致...,主要要一下两种方法 第一种方法,重写ActivityonWindowFocusChanged()方法,在里面调用mNoHorizontalScrollView.scrollTo(0,0);方法,滑动到顶部...,让其获取焦点 view.setFocusable(true); view.setFocusableInTouchMode(true); view.requestFocus(); 这段代码在初始化时候就让该界面的顶部某一个控件获得焦点...(true); view.requestFocus(); 这段代码在初始化时候就让该界面的顶部某一个控件获得焦点,滚动条自然就显示到顶部了。...但是该方法存在缺点,就是当我们上面的view如果滑动到一半时候,切换到下一个Fragment,在切换回来时候,RecyclerView第一个item会自动动到顶部

60310

吸顶效果解决方案

一.场景 “吸顶”是一种比较老交互方式,在PC页面已经用了很多年了,如图: sticky 吸顶元素初始位置一般靠近页面顶部,但与顶部有一定距离,这块区域放是最醒目的元素,比如Banner图...(最重要元素通常固定在页面顶部,navbar-fixed-top) 二.PC解决方案 页面滚动到一定位置时,做一些事情 “回到顶部”按钮也是这样,页面向下滚动超过150px时,显示该按钮,否则隐藏...”实现方式一模一样,效果好像还不错,但很快会发现滚动到临界位置stickyT时候,页面抖了一下,向上缩了一截。...监听滚动判断位置方法完全失效,平滑吸顶效果变成了过临界位置直到停止滚动时,吸顶元素跳到目标位置,体验非常差,不可忍受 scroll不能用,但还可以有一些奇怪思路,比如定时器读scrollTop,touchmove...提供了另一种方式:position: sticky,自IOS 6.1就支持了,最近Chrome56才支持 这个CSS规则专门负责吸顶,一般用法: .sticky { // 过初始位置时自动吸顶

3.3K10

Android模仿实现微博详情页滑动固定顶部效果实例

简单Demo 传统套路: 写两个一模一样固定栏,外层用帧布局(FrameLayout)包裹,然后把外层固定栏先隐藏,当内层固定栏滑动到外层固定栏位置时候,把内层固定栏隐藏,外层固定栏显示,反之滑回来时候把外层固定栏隐藏...:gravity="center" android:orientation="vertical" <TextView android:id="@+id/tv_topView" android...,当我们页面滑动到指定点时候,需要把内层“我是内层固定布局”移除,同时添加到外层ViewGroup(LinearLayout)中。...,就可以在回调接口里拿到对应滑动数据,其中第二个参数t就是滑动y轴距离,现在我们只需要拿到固定布局到顶部距离就可以判断什么时候需要移除和添加View了。...,得到结果都为0,由于此时Activity还没有得到焦点,依附在ActivityView自然也就得不到数据,所以我们需要在onResume后去进行对View数据获取。

1.2K20

Android开发笔记(一百六十四)仿京东首页下拉刷新

倒是第三点下拉刷新,以及第二点上拉监听,却不容易实现。 虽然Android提供了专门下拉刷新布局SwipeRefreshLayout,但它并没有页面随手势下效果。...因此若想呈现完全仿照京东下拉刷新特效,只能由开发者编写一个自定义布局控件了。 自定义下拉刷新布局,首先要能够区分是页面的正常下,还是拉伸头部要求刷新。...所以此处得捕捉页面滚动到顶部事件,相对应则是页面滚动到底部事件。鉴于App首页基本采用滚动视图ScrollView实现页面滚动功能,故而该问题就变成了如何监听该视图滚到顶部或者滚到底部。...正好ScrollView提供了滚动行为变化方法onScrollChanged,通过重写该方法即可判断是否到达顶部或底部,重写后代码片段如下所示:     protected void onScrollChanged...新上层视图需要完成以下三项任务: 一、在下层视图最前面自动添加一个下拉刷新头部,保证该下拉头部位于整个页面的最上方; 二、给前面自定义滚动视图注册滚动监听器和触摸监听器,其中滚动监听器用于处理到达顶部

2.8K40

Android 基于RecyclerView实现歌词滚动自定义控件

((;′⌒`)) 接下来说一下实现原理: 该控件分为以下几个部分: 歌词自动滚动 歌词颜色字体变化 触碰屏幕歌词不滚动,高亮显示,离开时自动动到当前歌词位置 触碰屏幕中间线条出现以及显示该歌词时间...mWordList); wordList.add(""); wordList.add(""); wordList.add(""); wordList.add(""); 由于歌词自动滚动是根据歌词时间来进行移动...}catch ( Exception e){ e.printStackTrace(); } } 3.对于歌词自动动到当前语句: 本身我想法就是多设置一个变量还是在这个 Runable...所以我们应该重新写一个 Runable() 来控制它自动动到当前位置。这样子的话各做各事情,在写逻辑时候会比较容易理顺。.... /** * 歌词自动动到特定位置任务 */ private static class AutoBackWork implements Runnable{ @Override

1.5K10

Android ConstraintLayout详解「建议收藏」

你可以使用Android Studio Layout编辑器界面来手动或者自动指定约束。要更好理解他,需要我们了解一下他对一个选中widget基本控键。...注意:该部分讲有关手动创建约束,需要将左上角自动创建约束按钮关闭 在开始之前,确保ImageView和TextView在layout内。...我们可以在TextView顶部控键与ImageView底部控键创建一个约束,如图: 移除约束:移除某个约束只需点击指定约束控键;移除全部约束需要点击如下按钮: 下一步,创建ImageView...你可以点击按钮设置不同值来改变margins。...调整TextView和Plain Text为48dp。并自动创建约束。 同样选中上传button放置到右侧。

1.5K30

Android从零单排系列二十六】《Android视图控件——ScrollView》

当布局超过屏幕大小时,ScrollView会自动启用滚动功能,用户可以通过滑动屏幕来查看隐藏部分内容。...ScrollView可以嵌套其他视图组件,例如TextView、ImageView等,以实现滚动展示更多内容。它对于需要显示较长文本、图片或其他可滚动内容界面非常有用。...常见方法: scrollTo(int x, int y):将ScrollView滚动到指定位置,参数x和y分别代表目标位置水平和垂直偏移量。...fullScroll(int direction):使ScrollView滚动到指定边界,参数direction可以是View.FOCUS_UP(滚动到顶部)或View.FOCUS_DOWN(滚动到底部...-- 这里可以添加更多内容 --> <TextView android:layout_width="match_parent" android

31420

Android开发实现标题随scrollview滑动变色方法详解

分享给大家供大家参考,具体如下: 要实现某个view背景透明度跟随scrollview滑动而改变需要重新scrollviewonOverScrolled方法,该方法随着滑动变化(包括手指滑动、手指移开惯性滑动...step1:设定布局 由于我们要实现是滑动时标题背景透明度改变,固定顶部标题view不能在srcollview里面跟随滑动,所以需要这样布局: <FrameLayout android:layout_width...android:layout_height="match_parent" android:orientation="vertical" <TextView...); } @Override public void scrollTo(int x, int y) { //这是为了修复noScrllListView嵌套在srcollview时就自动动到...noscrolllistview顶部bug,不影响使用 if (x == 0 && y == 0 || y <= 0) { super.scrollTo(x, y); }

97350
领券