首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

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

上一篇文章介绍了高仿京东的沉浸式状态栏,可是跟京东首页的头部轮播图相比,依然有三处缺憾: 1、京东的头部Banner上方,除了有悬浮着的状态栏,状态栏下面还有一行悬浮工具栏,内嵌扫一扫图标、搜索框,以及消息图标; 2、把整个页面往上拉,状态栏的背景色从透明变为深灰,同时工具栏的背景也从透明变为白色; 3、页面下拉到顶后,继续下拉会拉出带有“下拉刷新”字样的布局,此时松手则会触发页面的刷新动作; 上面第一点的状态栏和工具栏悬浮效果,都有对应的解决办法;第二点的状态栏和工具栏背景变更,也存在可行的解决方案。倒是第三点的下拉刷新,以及第二点的上拉监听,却不容易实现。 虽然Android提供了专门的下拉刷新布局SwipeRefreshLayout,但它并没有页面随手势下滚的效果。一些第三方的开源库如PullToRefresh、SmartRefreshLayout固然能让整体页面下滑,可是顶部的下拉布局很难个性化定制,至于状态栏、工具栏的背景色修改更是三不管。因此若想呈现完全仿照京东的下拉刷新特效,只能由开发者编写一个自定义的布局控件了。 自定义的下拉刷新布局,首先要能够区分是页面的正常下滚,还是拉伸头部要求刷新。二者之间的区别很简单,直觉上看就是判断当前页面是否拉到顶了。倘若还没拉到顶,继续下拉动作属于正常的页面滚动;倘若已经拉到顶了,继续下拉动作才会拉出头部提示刷新。所以此处得捕捉页面滚动到顶部的事件,相对应的则是页面滚动到底部的事件。鉴于App首页基本采用滚动视图ScrollView实现页面滚动功能,故而该问题就变成了如何监听该视图滚到顶部或者滚到底部。正好ScrollView提供了滚动行为的变化方法onScrollChanged,通过重写该方法即可判断是否到达顶部或底部,重写后的代码片段如下所示:

04

vue常用组件库_vue内置组件

element:饿了么出品的Vue2的web UI工具套件 Vux:基于Vue和WeUI的组件库 mint-ui:Vue 2的移动UI元素 iview:基于 Vuejs 的开源 UI 组件库 Keen-UI:轻量级的基本UI组件合集 vue-material:通过Vue Material和Vue 2建立精美的app应用 muse-ui:三端样式一致的响应式 UI 库 vuetify:为移动而生的Vue JS 2组件框架 vonic:快速构建移动端单页应用 eme:优雅的Markdown编辑器 vue-multiselect:Vue.js选择框解决方案 vue-table:简化数据表格 VueCircleMenu:漂亮的vue圆环菜单 vue-chat:vuejs和vuex及webpack的聊天示例 radon-ui:快速开发产品的Vue组件库 vue-waterfall:Vue.js的瀑布布局组件 vue-carbon:基于 vue 开发MD风格的移动端 vue-beauty:由vue和ant design创建的优美UI组件 vue-blu:帮助你轻松创建web应用 vueAdmin:基于vuejs2和element的简单的管理员模板 vue-syntax-highlight:Sublime Text语法高亮 vue-infinite-scroll:VueJS的无限滚动指令 Vue.Draggable:实现拖放和视图模型数组同步 vue-awesome-swiper:vue.js触摸滑动组件 vue-calendar:日期选择插件 bootstrap-vue:应用于Vuejs2的Twitter的Bootstrap 4组件 vue-swipe:VueJS触摸滑块 vue-amap:基于Vue 2和高德地图的地图组件 vue-chartjs:vue中的Chartjs的封装 vue-datepicker:日历和日期选择组件 markcook:好看的markdown编辑器 vue-google-maps:带有双向数据绑定Google地图组件 vue-progressbar:vue轻量级进度条 vue-picture-input:移动友好的图片文件输入组件 vue-infinite-loading:VueJS的无限滚动插件 vue-upload-component:Vuejs文件上传组件 vue-datetime-picker:日期时间选择控件 vue-scroller:Vonic UI的功能性组件 vue2-calendar:支持lunar和日期事件的日期选择器 vue-video-player:VueJS视频及直播播放器 vue-fullcalendar:基于vue.js的全日历组件 rubik:基于Vuejs2的开源 UI 组件库 VueStar:带星星动画的vue点赞按钮 vue-mugen-scroll:无限滚动组件 mint-loadmore:VueJS的双向下拉刷新组件 vue-tables-2:显示数据的bootstrap样式网格 vue-virtual-scroller:带任意数目数据的顺畅的滚动 DataVisualization:数据可视化 vue-quill-editor:基于Quill适用于Vue2的富文本编辑器 Vueditor:所见即所得的编辑器 vue-html5-editor:html5所见即所得编辑器 vue-msgbox:vuejs的消息框 vue-slider:vue 滑动组件 vue-core-image-upload:轻量级的vue上传插件 vue-slide:vue轻量级滑动组件 vue-lazyload-img:移动优化的vue图片懒加载插件 vue-drag-and-drop-list:创建排序列表的Vue指令 vue-progressive-image:Vue的渐进图像加载插件 vuwe:基于微信WeUI所开发的专用于Vue2的组件库 vue-dropzone:用于文件上传的Vue组件 vue-charts:轻松渲染一个图表 vue-swiper:易于使用的滑块组件 vue-images:显示一组图片的lightbox组件 vue-carousel-3d:VueJS的3D轮播组件 vue-region-picker:选择中国的省份市和地区 vue-typer:模拟用户输入选择和删除文本的Vue组件 vue-impression:移动Vuejs2 UI元素 vue-datatable:使用Vuejs创建的DataTableView vue-instant:轻松创建自动提示的自定义搜索控件 vue-dragging:使元素可以拖拽 vue-sli

02

NFT数藏盲盒+模式系统开发

其实NFT未必一定是值钱、一定用来收藏,还有部分场景下,NFT是拿来用的,有自身的使用价值。​​  NFT数藏盲盒+模式系统平台,NFT数藏交易所app系统开发,NFT数藏艺术品发行系统开发,NFT数藏盲盒+模式系统开发,NFT数藏盲盒系统开发。 20世纪的很长一段时间,体育卡收藏非常流行,但随着卡片供应量的增加,卡片生产商的逐渐分散,以及互联网的发展,体育卡逐渐被人们所遗忘。 在fifa online系列游戏中,如果你想要打造一支有竞争力的队伍,就必须拥有上乘的球星卡,但这样的卡在卡包中抽中的概率很小,所以很多人会将大笔的资金投入到游戏中,就为能增大抽中的概率,更有人花费几千甚至上万元购买拥有已经退役的传奇球星卡的游戏账号,这与NFT有着异曲同工之妙。 尽管人人可以复制,正如一幅梵高画作人人也都可能可以分毫不差的仿作,但是原作跟仿作、正品与山寨,借助于NFT或者说背后的公开账本,使得区分和追踪所有权,更为容易。 限量发行,尽管这不是一切的灵丹妙药。炒鞋的核心,源于限量,奢侈品的鼓噪也和限量分不开。物理世界中的限量,有时间因素的筛选,有人为的控制,而NFT的限量发行,却全靠发行方的勤勉经营了。虽然私自增发不是不行,但区块链是有记忆的,比互联网更方便。 与之相关的,来自于无法篡改,或者几乎是无法篡改。对NFT而言,元数据中表明的版本号、Mint编号、藏家,也都很重要。古董行中的规矩,同样画作收藏者不同,身价相去可以数以万倍计,NFT尽管尚未发展出专业的品鉴市场,因公开账本的不可篡改,链上流转的记录,也会因为藏家的名声地位,而有所差别。 其实NFT未必一定是值钱、一定用来收藏,还有部分场景下,NFT是拿来用的,有自身的使用价值,如域名或者以之映射物理世界中所有权的凭证,也是NFT的用途。 此外NFT的非同质化尽管被强调许多,但是别忘了它也是个Token,Token可以做的,NFT一样能做。全球可交换、交易,加上逐渐完善的市场创建和激励,其实理论上可以做到万物皆可NFT,刺激更多创新的场景出现。 许多NFT收藏者们认为可以将NFT跟真实世界结合。以NBA Top Shot为例,我们可能会看到NBA球员为NFT持有者们提供场边座位和见面会等参与方式。至于NFT门票,也是很自然的使用情景。 就像一些人会通过买卖游戏皮肤获取利益一样,NFT自然也存在“倒买倒卖”的市场,通过炒作,NFT的商业价值只会更盛,而如果你购买一种NFT后,将其印在T恤上进行售卖,或是开发游戏都是可行的商业途径,也会带来很多价值。 这种与球迷之间的互动将会更使球队与球迷之间的关系接近,帮助其走向行业的下一步。体育NFT给体育迷们提供了体验比赛的新方式,通过购买球星相关的NFT了解更多球星的相关信息,甚至还可以帮助球迷在任何情况下能有参与感,并允许球员以更难忘的方式与粉丝互动。​​​​

02
领券