初始化的时候,让下拉头向上偏移出屏幕,这样我们看到的就只有ListView了。...然后对ListView的touch事件进行监听,如果当前ListView已经滚动到顶部并且手指还在向下拉的话,那就将下拉头显示出来,松手后进行刷新操作,并将下拉头隐藏。原理示意图如下: ?...; /** * 当前是否可以下拉,只有ListView滚动到头的时候才允许下拉 */ private boolean ableToPull; /** * 下拉刷新控件的构造函数,会在运行时动态添加一个下拉头的布局...首先在RefreshableView的构造函数中动态添加了刚刚定义的pull_to_refresh这个布局作为下拉头,然后在onLayout方法中将下拉头向上偏移出了屏幕,再给ListView注册了touch...当ListView滚动到了最顶部时,如果手指还在向下拖动,就会改变下拉头的偏移值,让下拉头显示出来,下拉的距离设定为手指移动距离的1/2,这样才会有拉力的感觉。
一、了解ListView 在Android开发中,ListView是比较常用的控件,它以列表的形式显示具体内容,并且能够根据数据的长度自适应显示。...AdapterView继承了 ViewGroup,它的本质是容器。 AdapterView可以包括多个“列表项”,并将多个“列表项”以合适的形式显示出来。...如果该属性设置为 true,将会显示滚动图标,并允许用户拖动该滚动图标进行快速滚动 android:listSelector setSelector(int) 指定被选中的列表项上绘制的 Drawable...,欢迎关注分享达人秀(ShareExpert)获取最新教程,也欢迎加入Android入门技术讨论微信群,可先添加好友(jinwenyu2010)备注Android群,然后拽进群。...ListView,并通过android:entries指定了列表项数组, 该ListView还通过android:divider改变了列表项之间的分隔条。
(译者注: 如何监听android的屏幕滑动停止事件) 参数 velocityY Y方向的初始速率。正值表示手指/光标向屏幕下方滑动,而内容将向上滚动。...* 为使矩形区域全部可见,视图将可以被滚动显示 参数 child 发出请求的子视图 rectangle 子项目坐标系内的矩形,即此子项目希望在屏幕上的定位 immediate 设为true...也可能是视图的其他子视图使用的) parentHeightMeasureSpec 当前视图要求的宽度 heightUsed 垂直方向上由父视图使用的空白 (也可能是视图的其他子视图使用的)...如果只是添加到视图,调用时显示的是旧值0。(译者注:也就是添加到视图时,oldw和oldh返回的是0)。.../ScrollView2 添加自动滚动和智能焦点切换 [Android学习指南]使用ScrollView实现滚动效果 Android中ScrollView与ListView共用问题的解决方案 示例代码
(关于该功能我们提供了一个相应的demo,点击获取) 6, Android版Smobiler Client添加了支持官方手持硬件的插件包,今后手持应用的开发调试可直接通过Smobiler Client进行...5, 添加TitleHeight属性,以优化AlbumView控件查看图片详情界面。 6, TextBox中添加失去焦点方法 7, Numeric控件中添加了ValueChange事件。...8, ListMenuView添加了Tag参数。 9, 将所有插件合并至一个Dll中。 10, 为TabView的Button增加了Press事件。 11, ListView可滚动到指定位置。...3, 修复FontIcon取消选择时默认显示adjust的问题。 4, 修复GridView与ListView中Head、Foot的在没有数据时不显示的问题。...7, 修复设计器撤销控件更改时,控件丢失的问题。 8, 修复iOS版中,滚动panel中TextBox弹出键盘异常的问题。 9, 修复ListView没有行项时使用NewData报错问题。
一 ListView 介绍 ListView 是 Android 中的经典列表控件,用于展示一组垂直滚动的项目。...它具有以下特点和用途: 显示数据列表:ListView 可以用于显示各种类型的数据列表,例如联系人列表、新闻列表、商品列表等。...虽然可以通过自定义适配器来定制每个列表项的外观,但对于不同类型的列表项布局,ListView 并不提供直接的支持。为了实现更复杂的布局需求,可能需要使用其他控件或库。...缺少分页支持:ListView 不支持自动分页加载数据,要实现分页效果,需要手动监听滚动事件并加载下一页数据。...运行应用程序后,您将看到一个显示列表项的自定义列表视图。 通过在 CustomAdapter 类中添加更多的逻辑和布局定义,您可以根据需求定制每个列表项的外观和功能。
概述 前面介绍了Android UI中的五大布局容器,本节课介绍实际项目当中经常会用到的组件-ListView,它也是一个布局容器,它的每一项就是我们的列表项,每一个列表项都是一块独立的布局,我们可把数据填充到每一个列表项中...的时候,才会显示滚动条,并且会自动影藏和显示 android:fastScrollEnabled=”true” //快速滚动效果,配置这个属性,在快速滚动的时候旁边会出现一个小方块的快速滚动效果...: 该ScrollBar显示在内容区域里面,不会增加了控件的padding区域,该ScrollBar以半透明的样式覆盖在视图(view)的内容上....属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。...true就可以实现滚动条的自动隐藏和显示。
功能:ListView可以在有限的屏幕空间内显示大量的数据,并支持用户滚动浏览。它提供了一个可滚动的列表容器,可以逐项地展示数据元素。...可以在布局文件中添加控件来显示列表项中的各个元素。 添加数据:通过适配器向ListView添加数据,可以使用适配器的方法(如add()、addAll())添加单个或多个数据项。...一旦数据被添加到适配器,ListView会自动刷新并显示新数据。 点击事件:可以为ListView的列表项设置点击事件监听器,使用户能够对列表项进行交互操作。...这个简单的示例演示了如何使用ListView和ArrayAdapter来显示一个静态字符串数组。你可以根据需要修改数据源和列表项布局,以适应不同的情况。...同时,你还可以添加点击事件监听器来处理ListView中列表项的交互操作。 五 总结 istView是Android开发中常用的列表视图控件,用于展示大量数据并实现用户的垂直滚动浏览。
在Android开发中,我们常常用到ListView和GridView,而有的时候系统的ListView,GridView并不能满足我们的需求,所以我们需要自己定义一个ListView或者GridView...自动向下滚动的边界值 */ private int mDownScrollBorder; /** * DragGridView自动向上滚动的边界值 */...} /** * 当moveY的值大于向上滚动的边界值,触发GridView自动向上滚动 * 当moveY的值小于向下滚动的边界值,触犯GridView自动向下滚动...GridView向上或者向下滚动的偏移量的时候,可能我们手指没有移动,但是DragGridView在自动的滚动 //所以我们在这里调用下onSwapItem()方法来交换item ...Item镜像的方法里面,其他的我不多说,首先设置format为PixelFormat.TRANSLUCENT,表示除了我们显示图片和文字的其他地方为透明,之后就是x,y这两个距离的计算,计算的是item
功能列表 QMUIAnimationListView 使 ListView 支持添加/删除 Item 的动画,支持自定义动画效果。...QMUIProgressBar 一个进度条控件,通过颜色变化显示进度,支持环形和矩形两种形式,主要特性如下: 支持在进度条中以文字形式显示进度,支持修改文字的颜色和大小。...QMUIRadiusImageView 提供为图片添加圆角、边框、剪裁到圆形或其他形状等功能。 QMUIRoundButton 对 Button 提供圆角功能,支持以下特性: 指定圆角的大小。...快速设置状态栏为黑色或白色字体图标(支持 4.4 以上版本 MIUI 和 Flyme,以及 6.0 以上版本的其他 Android)。...提供多个常用的 View 相关工具方法,如对 View 设置单个方向的 padding、从 ViewStub 中获取一个 View、判断 ListView 是否已经滚动到底部等等。
CoordinatorLayout帮助我们协调它所包含的子view之间的交互,这一点在我们后面讲如何根据滚动的变化让按钮动画隐藏与显示的时候有用。...ScrollAwareFABBehavior(Context context, AttributeSet attrs) { super(); } /** * 处理垂直方向上的滚动事件...Kitkat 中的 FAB: ? Issues 1: Android 4.4 和 5.0 中边缘显示 很容易看出,Lollipop 中存在边缘显示的问题。..., ScrollView 或者 RecyclerView 关联起来,这样按钮就会随着list的向下滚动而隐藏,向上滚动而重现: ListView listView = (ListView) findViewById...(false); 监听滚动事件 我们可以监听所关联的list的滚动事件,以管理FAB的状态: FloatingActionButton fab = (FloatingActionButton) root.findViewById
其他特性还包含支持图表缩放、手势移动、动画显示效果、高密度柱形显示、图表分界定制线、多图表的混合显示及同数据源不同类型图表切换等。...HelloCharts for Android 支持折线图、柱状图、饼图、气泡图、组合图;支持预览、放大缩小,滚动,部分图表支持动画;支持 Android 2.2 以上 项目地址:https:...项目地址:https://github.com/eluleci/FlatUI 效果图: 十六、其它 SwipeBackLayout 左右或向上滑动返回的Activity 项目地址:https...解决各个Android版本号WebView不同的问题,同一时候利用最新Chrome代码 项目地址:https://github.com/pwnall/chromeview android-phased-seek-bar..., ViewPager等滚动控件滚动到边缘的颜色效果 项目地址:https://github.com/AndroidAlliance/EdgeEffectOverride android-pinned-header-listviews
第1步:创建起始Flutter应用程序 第2步:使用外部包装 第3步:添加一个有状态的小部件 第4步:创建一个无限滚动ListView 第5步:添加交互性 第6步:导航到新的屏幕 第7步:使用主题更改UI...lib/main.dart 第4步:创建一个无限滚动ListView 在这一步中,您将展开RandomWordsState以生成并显示单词配对列表。...当用户滚动时,ListView小部件中显示的列表将无限增长。 ListView的builder工厂构造函数允许您根据需要懒惰地构建列表视图。...1.向RandomWordsState的构建方法中的AppBar添加列表图标。 当用户点击列表图标时,包含收藏夹项目的新路线被推送到导航器,显示该图标。...实现一个有状态的小部件,为你的应用增加交互性。 用ListView和ListTiles创建一个延迟加载的无限滚动列表。 创建了一条路由并添加了在主路由和新路由之间移动的逻辑。
该项目具有多种菜单展示效果,其中最常见的就是通过屏幕边缘拖动或点击动作栏的“向上”按钮显示。 实现功能: 菜单可以沿着四个边放置。 支持附加一个始终可见、不可拖动的菜单。...XobotOS XobotOS是Xamarin的一个研究项目,用于将Android 4.0从Java/Dalvik移植到C#,并对移植后的性能及内存占用情况进行检测。...ignition-location——一个可以直接编译到应用程序中的Android AspectJ库项目。能够让定位应用在不需要Activity位置更新处理的情况下获取到最新的位置信息。...Crouton Crouton是Android上的一个可以让开发者对环境中的Toast进行替换的类,以一个应用程序窗口的方式显示,而其显示位置则由开发者自己决定。...该库允许你自定义每个列表项目中的ListView,一旦用户点击某个按钮,即可实现该列表项目区域滑动。
它只是一个没有数据的UI元素。您可以使用Android适配器填充ListView。 Adapter是一个接口,其实现提供数据并控制该数据的显示。...想象一下,如果没有适配器,世界会是什么样的! 例子 一个视图,显示垂直滚动列表中的项目。这些项目来自与此视图关联的SimpleCursorAdapter。...您可能在每个应用程序中拥有的一个适配器是CursorAdapter,它使您能够从数据库查询中提供游标给出的内容。 ListView几乎总是某种适配器。...AdapterView的示例是ListView。 适配器还提供显示AdapterView中数据的子视图。适配器负责提供数据并创建表示每个项目的视图。...不仅用于显示数据列表,还用于显示某些自定义视图。 假设客户想要使用具有更多textview(任何其他视图)的列表,那么我们必须在Android中使用Adapter视图。
设置项目间分割符 2.设置项目间分隔线 ListView各个项目之间,可以通过设置分隔线来进行区分,系统提供了divider和dividerHeight这两个属性来帮我们实现这一功能。...隐藏ListView的滚动条 3.隐藏ListView的滚动条 默认的ListView在滚动时,在右边会显示滚动条,指定当前滚定的位置。...我们可以通过scrollbars属性来控制ListView的滚动状态。特别的,当scrollbars设置为none时,ListView无论滚动还是不滚动,就都不会出现滚动条了。...case 2:// 隐藏ListView的滚动条 LogUtils.d(position); // false-一直都显示 true-不活动时隐藏...设置ListView需要显示在第几行 ListView以Item为单位进行显示,默认显示第一个Item,当需要指定具体的Item时,可以通过如下代码来实现 ListView.setSelection(N
如果你想升级到最新版本,建议慎重,有些人升级后项目无法运行。...今天介绍的组件是NestedScrollView,大部分的App首页都会用到这个组件。 NestedScrollView 可以在其内部嵌套其他滚动视图的组件,其滚动位置是固有链接的。...例如,浏览内部列表以滚动到顶部不会导致外部ScrollView中的SliverAppBar折叠以展开。...reverse参数表示反转滚动方向,并不是由垂直转为水平,而是垂直方向滚动时,默认向下滚动,reverse设置false,滚动方向改为向上,同理水平滚动改为水平向左。...有: AlwaysScrollableScrollPhysics:总是可以滑动 NeverScrollableScrollPhysics:禁止滚动 BouncingScrollPhysics :内容超过一屏
有可能你不知道的那些ScrollView属性 android:scrollbars 设置滚动条显示。...参照fadingEdgeLength的效果图 android:fadingEdgeLength 设置边框渐变的长度 android:scrollX 以像素为单位设置水平方向滚动的的偏移值,在GridView...中可看的这个效果 android:scrollY 以像素为单位设置垂直方向滚动的的偏移值 android:scrollbarAlwaysDrawHorizontalTrack 设置是否始终显示垂直滚动条...以上这些属性有兴趣的可以去研究一下,这里就不详细讲了。很多属性并不常用,下面说说我们经常用的,怎样监听ScrollView的滑动并实现标题栏的渐变?...https://github.com/Hankkin/GradationTitleBar 项目里面我还添加了一个带banner的,原理是一样的。
那么本篇文章是我们ListView系列三部曲的最后一篇,在这篇文章当中我们将对ListView进行功能扩展,让它能够以瀑布流的样式来显示数据。...另外需要注意的是,为了简单起见,我没有抽取最新版本的ListView代码,而是选择了Android 2.3版本ListView的源码,因为老版本的源码更为简洁,方便于我们理解核心的工作流程。...getColumnToPrepend()方法是用于判断当ListView向上滑动时,新进入屏幕的子View应该添加到哪一列的。...如果是向上滑动,则调用getColumnToPrepend()方法来获取新增子View要添加到哪一列,同样计算出子View左上右下的位置,并调用child.layout()方法完成布局。...如果确实需要在项目实现瀑布流布局的效果,可以使用开源项目 PinterestLikeAdapterView 的代码,或者使用Android新推出的RecyclerView控件,RecyclerView中的
当我们引入RecyclerView的时候,恰好是压死骆驼的最后一根稻草,故不得不采用其他方案来代替RecyclerView 和 CollapsingToolbarLayout实现的折叠效果。...本文试着采用 NestedScrollView 嵌套 ListView的方法来实现折叠效果。具体结果如图所示: ?...enterAlways - 实现quick return效果, 当向下移动时,立即显示View(比如Toolbar). exitUntilCollapsed - 向上滚动时收缩View,但可以固定Toolbar...="@string/appbar_scrolling_view_behavior"指定给NestedScrollView,即当该控件滑动的时候,其他CollapsingToolbarLayout内的子view...解决方法在AppBarLayout添加 android:fitsSystemWindows="true"
笔者项目中使用Flutter的模块并不多。虽然笔者还没有机会在项目中正式使用Flutter,但是也在学习Flutter的一些基本用法。本文就是一篇Flutter的入门介绍,后续会写更多深入介绍的文章。...配置环境变量:将Flutter SDK的bin目录添加到系统的PATH环境变量中。...安装Android Studio:访问Android Studio官方网站(https://developer.android.com/studio)下载并安装Android Studio。...Widget,用于在水平和垂直方向上排列其他Widget。...是一个常用的滚动列表Widget,可以用来展示一列可滚动的元素。
领取专属 10元无门槛券
手把手带您无忧上云