文 / Peggy Chi,高级研究员,Irfan Essa,高级工程师,Google研究院
上一篇文章介绍了高仿京东的沉浸式状态栏,可是跟京东首页的头部轮播图相比,依然有三处缺憾: 1、京东的头部Banner上方,除了有悬浮着的状态栏,状态栏下面还有一行悬浮工具栏,内嵌扫一扫图标、搜索框,以及消息图标; 2、把整个页面往上拉,状态栏的背景色从透明变为深灰,同时工具栏的背景也从透明变为白色; 3、页面下拉到顶后,继续下拉会拉出带有“下拉刷新”字样的布局,此时松手则会触发页面的刷新动作; 上面第一点的状态栏和工具栏悬浮效果,都有对应的解决办法;第二点的状态栏和工具栏背景变更,也存在可行的解决方案。倒是第三点的下拉刷新,以及第二点的上拉监听,却不容易实现。 虽然Android提供了专门的下拉刷新布局SwipeRefreshLayout,但它并没有页面随手势下滚的效果。一些第三方的开源库如PullToRefresh、SmartRefreshLayout固然能让整体页面下滑,可是顶部的下拉布局很难个性化定制,至于状态栏、工具栏的背景色修改更是三不管。因此若想呈现完全仿照京东的下拉刷新特效,只能由开发者编写一个自定义的布局控件了。 自定义的下拉刷新布局,首先要能够区分是页面的正常下滚,还是拉伸头部要求刷新。二者之间的区别很简单,直觉上看就是判断当前页面是否拉到顶了。倘若还没拉到顶,继续下拉动作属于正常的页面滚动;倘若已经拉到顶了,继续下拉动作才会拉出头部提示刷新。所以此处得捕捉页面滚动到顶部的事件,相对应的则是页面滚动到底部的事件。鉴于App首页基本采用滚动视图ScrollView实现页面滚动功能,故而该问题就变成了如何监听该视图滚到顶部或者滚到底部。正好ScrollView提供了滚动行为的变化方法onScrollChanged,通过重写该方法即可判断是否到达顶部或底部,重写后的代码片段如下所示:
在我们制作一个微信小程序时,首先进行全局配置,设置底部索引,我们可能面临不知道如何插入图标或是图标尺寸过大的情况。其次,在页面配置过程,需要插入图片且要让图文居中的情况。除此之外,我们会想让页面并不只是单调的白色而想设置不同颜色。
位置适配 : 基于 屏幕 顶部 / 底部 摆放的组件 , 会出现偏移 , 没有按照设计位置摆放 ;
对于没有相关基础的人,在正式学习App的UI之前,建议先了解Material Design相关的知识
需求模仿腾讯课堂视频播放详情页面,效果如图: 1外层滚动控件到顶部,内层控制滚动 2内层滚动到顶部,外层控制滚动 835108-20170331111709149-156183149.gif 835108-20170331111723820-1491053367.gif 基本思路:是最外层有个父ScrollView,子tab页面中有ListView(React-native原生实现也是ScrollView),现在外部的ScrollView设定一个固定高度(屏幕高度+视频高度一半),接下来解决的难点是要
一、LinearLayout(线性布局) android:orientation=”horizontal”(从左到右) android:orientation=”vertical”(从上到下) 二、TableLayout(表格布局) android:stretchColumns=”1″ 设置第2列作为拉伸列(注意0表第一列) TableLayout添加一个TableRow就可以增加一行,在tablerow中添加组件就占用一列 如果直接在tableLayout中添加组件那么他独自占用一行 设置拉伸stret
前言,一天在点外卖的时候,注意到饿了么列表页的滑动效果不错,但是觉得其中的手势滑动还是挺复杂的,正好又碰到了在熟悉Touch事件的理解当中,所以就抽空对着饿了么的列表页面尝试写写这个效果
在开发跨平台应用时,设计良好的导航栏和侧栏是至关重要的考虑因素。这两个组件在应用中扮演着关键的角色,直接影响用户对应用的导航和使用体验。
智能手表相对手机来说,由于使用场景不同,且屏幕较小,所以应用的设计、交互和手机是有些区别的。相对来说,布局会更简洁,更多地使用滑动手势进行操作。
作为移动应用程序开发人员,我们有时需要制作滑动的,动画的背景图像轮播。但是,有时候,我们需要制作一张滑动卡片传送带,其中包含一些具有各种背景颜色,图像或渐变的信息。
“空间三维建模”是在GIS行业中同样具有举足轻重地位的一个领域,因此从本文开始,我们将基于空间三维建模方面的相关原理、基本操作与结果分析等,通过几篇文章,对其加以尽可能详细的介绍与实战。
2.具有四个页面,页面具有底部选择框,同时具有选择事件,当点击选择事件的时候进行页面切换
3.2.5 两端对齐,也就是第一个子组件靠左,最后一个子组件靠右,剩余组件在中间平均分散排列
微信小程序正式发布已经接近 2 个星期了,但是,还是有很多人不知道该如何使用小程序。 为什么我用不了小程序?在哪里搜索小程序?几乎每一天,微信后台都会收到这类留言。 为了让天下没有不会用小程序的人,知晓程序(微信号 zxcx0101)特地准备了这份小程序常见问题答疑。 如果你不会用小程序,或者你身边有很多对小程序一无所知的人,那么,这篇文章就是解药。 1. 我搜不到小程序,也打不开别人发来的小程序页面,怎么办? 那是因为你的微信版本太低。想要使用小程序,微信版本必须升级至 6.5.3 以上。 那么,怎样知道
3.2.4 把剩余空间平分成n份,n是子widget的数量,然后把其中一份空间分成2份,放在第一个child的前面,和最后一个child的后面
Button是文本按钮(继承自TextView),而ImageButton是图像按钮(继承自ImageView)。两者之间的区别在于: 1、Button即可显示文本也可显示图形(通过设置背景图),而ImageButton只能显示图形不能显示文本; 2、Button可在文本周围区域显示小图,而ImageButton无法在某个区域显示小图; 3、ImageButton上的图像可按比例进行拉伸,而Button上的大图会拉伸变形(因为背景图无法按比例拉伸); 从上面可以看出,Button的适应面更广,所以实际开发中基本使用Button。 Button与ImageButton的单击方法是setOnClickListener,对应的监听器要实现接口View.OnClickListener。长按方法是setOnLongClickListener,对应的监听器要实现接口View.OnLongClickListener。下面是Button按键监听器的代码例子:
这个功能目前只支持Android(在IOS高版本微信支持朋友圈打开小程序能力,但不能分享)。
对于每一位设计师的日常工作来说,如何有效阐述自己的方案是非常关键的一步,如果只是一张原型图方案,无论标注得多么清楚,都会有一定的沟通理解成本,所以通常都会需要一个原型demo来帮助大家对方案进行直观的演示,以此阐明方案的各类细节、操作体验等等。为了帮助大家在移动互联网时代,快速、简单地制作原型demo,Demoo应运而生。 Demoo是基于web设计搭建的一款在浏览器内进行可视化操作的工具。通过上传平面稿件,用手势或触点热区的方式把界面关系连接起来,加入连接转场特效,输出一份仿真APP的、可体验操作的设计方
1. 页面具有标题“微信” 2. 页面具有中间显示框 3. 页面具有底部选择框,并且具有选择事件 4. 页面底部选择框在进行改变的时候,我们需要中间显示框的页面同步改变 5. 页面的布局清晰
约束布局ConstraintLayout是Android Studio 2.2推出的新布局,并从Android Studio 2.3开始成为默认布局文件的根布局,由此可见Android官方对其寄予厚望,那么约束布局究竟具备哪些激动人心的特性呢? 传统的布局如线性布局LinearLayout、相对布局RelativeLayout等等,若要描绘不规则的复杂界面,往往需要进行多重的布局嵌套,不但僵硬死板缺乏灵活性,并且嵌套过多拖慢页面渲染速度。约束布局正是为了解决这些问题应运而生,它兼顾灵活性和高效率,可以看作是相对布局的升级版,在很大程度上改善了Android的用户体验。开发者使用约束布局之时,有多种手段往该布局内添加和拖动控件,既能像原型设计软件AxureRP那样在画板上任意拖曳控件,也能像传统布局那样在XML文件中调整控件布局,还能在代码中动态修改控件对象的位置状态,下面分别介绍约束布局的这几种使用方式:
Android 的覆盖范围在递增,体验也在变得越来越好,现已有超过 2.5 亿台大屏设备搭载了 Android 系统,包括平板电脑、可折叠设备以及 Chrome OS 设备。如何适配不同的屏幕尺寸并保障良好的体验,一直以来都是开发者的一大难题。尤其随着可折叠设备等新兴产品的涌现,适配工作也愈发迫切。本文将重点介绍 Material Design 指南中更新的相关内容,并提供一些建议来帮助开发者按照自适应界面的原则来构建应用,从而解决在平板电脑和可折叠设备上的适配问题。
Flutter是谷歌的移动UI框架,可以运行在ios与android系统上,可以以完成app的开发,
本文主要讲解如何制作一个安卓原生的“壳”来加载我们的 H5 网页,最终实现一个简单的 Hybrid App(套壳应用)。
设计非常出色的动画会使UI感觉更直觉,应用程序具有光滑的外观和感觉,改善用户体验。Flutter的动画支持使实现各种动画类型变得容易。许多小部件,特别是“Material”小部件,都伴随着其设计规范中所描述的标准运动效果,但是与此同时,也可以自定义这些效果。
近来风生水起的VR虚拟现实技术,抽空想起年初完成的“星球计划”项目,总结篇文章与各位分享一下制作基于Html5的3D全景漫游秘籍。 QQ物联与深圳市天文台合作,在手Q“发现新设备”-“公共设备”里,连接QQ物联摄像头为用户提供2016年天体大事件的直播,大家可以通过手Q实时观看到世界各地最佳观测点的日食,流星等天体现象。承载整个“星球计划”活动的运营页面,经多方讨论,我们决定尝试3D全景漫游模式的H5运营页进行推广,今天就不详述活动的具体内容,先和大家聊一聊这H5里“3D全景漫游”的制作方法。 先贴一
近年来,在电商、新零售趋势的影响下,实体零售商也都在谋求自身的渠道变革,完善消费体验。如今微信已有超过十亿的用户,市场巨大,而微信小程序的开通不仅能够降低品牌开发和营销成本,实现精准营销,提升品牌知名度,同时能提供便捷的支付方式,提升用户购物体验,因此多个品牌纷纷投入到小程序的开发中。
近来风生水起的VR虚拟现实技术,抽空想起年初完成的“星球计划”项目,总结篇文章与各位分享一下制作基于Html5的3D全景漫游秘籍。 QQ物联与深圳市天文台合作,在手Q“发现新设备”-“公共设备”里,连
要实现ScrollView的回弹效果,需要对其进行触摸事件处理。先来看一下简单的效果:
本文介绍了移动端全兼容的flexbox速成班,包括常见概念、版本对比、实用技巧和实例演练等内容,并提供了7个移动端常见布局的demo。
去年,由于突发的形势,谷歌取消了一年一度的 I/O 开发者大会,今年终于要如期回归了!
说起flexbox,都算是件陈年旧事了,它是2009年W3C提出的一种全新的可伸缩的CSS布局方式。依赖flexbox,我们可以更简单,高效的完成可伸缩式页面的布局。 业界与flexbox的相关教程文章也是各式各样,新旧交替,很多小伙伴对flexbox想用又不敢用,究其原因也就是即分不清它各个版本的编写规范,又苦恼于大家总是挂在嘴边的一句“flexbox兼容性不好”。 所以今儿前来总结一个精华干货贴,回顾那些楼主在项目里用过的flexbox,来谈谈那些不用苦恼“兼容”的flexbox最佳实例(本文只聊移动
在 iOS Safari (其他浏览器和 Android 均不会)上会对那些看起来像是电话号码的数字处理为电话链接,比如:
对我而言,除了对王者XX、吃鸡这类大型竞技类游戏上头外,一个简简单单的小游戏也会让我不愿意放下手机。
制作微信小游戏大致流程与微信小程序、Web类似,不同的在于是组件的使用。我们此节需要完成的小游戏需求为:
pageadmin CMS网站建设教程:实例:如何制作一个报名表? 有时我们根据需求需要制作一些自定义表,该如何去制作呢?
在过去的 12 个月内,有约 1 亿台新平板设备被激活,Chrome OS 的激活量增长了 92%,是增长速度最快的桌面平台。这意味着在平板电脑、可折叠设备和 Chrome OS 设备上,有超过 2.5 亿台大屏幕设备运行着 Android 系统,而关于可折叠设备的使用数量也在不断增长,同比增长超过 250%,因此,"大屏" 正在成为 Android 设备中一个重要且增长势头最快的细分市场。这也让设备制造厂商们意识到,针对大屏做优化是让设备在高端手机细分市场中脱颖而出的机会。
iPhone出现之后的几年,手机屏幕的尺寸基本都保持在4英寸以下(以对角线计算),非常便于单手操作。然而,随着大屏手机不断涌入市场,到2014年年中,已经有将近三分之一的移动Web浏览量来自这些设备。大屏手机填补了传统触屏手机与平板电脑之间的空白地带,有些大屏手机的屏幕甚至达到7英寸之巨,因此也获得了一个略显蹩脚的绰号——平板手机。
喜欢二次元的朋友一定对大名鼎鼎的live2d技术并不陌生,live2D是一种应用于电子游戏的绘图渲染技术,技术由日本Cybernoids公司开发,通过一系列的连续图像和人物建模来生成一种类似三维模型的二维图像。
Android开发中使用顶部 & 底部Tab导航栏的频次非常高,主要的实现手段有以下:
【iVX 初级工程师培训教程 10篇文拿证】01 了解 iVX 完成新年贺卡 【iVX 初级工程师培训教程 10篇文拿证】02 数值绑定及自适应网站制作 【iVX 初级工程师培训教程 10篇文拿证】03 事件及猜数字小游戏 【iVX 初级工程师培训教程 10篇文拿证】04 画布及我和 iVX 合照 【iVX 初级工程师培训教程 10篇文拿证】05 画布及飞机大战游戏制作 【iVX 初级工程师培训教程 10篇文拿证】06 数据库及服务 【iVX 初级工程师培训教程 10篇文拿证】07 08 新闻页制作 【iVX 初级工程师培训教程 10篇文拿证】09 聊天室制作
在了解了基础可视组件后,我们可以通过这些可视组件进行站点页面开发,在此以一个二手交易网站站点页面为例,本教程示例并不是成熟完善的示例,需要各位读者进行少量完善,示例只是用于功能讲解,了解 iVX 开发项目的一般流程。
前面的文章介绍了如何实现广告轮播的Banner效果,本想可以告一段落。然而某天产品经理心血来潮,拿着苹果手机,要求像iOS那样把广告图顶到状态栏这儿。刚接到这需求,不禁倒吸一口冷气,又要安卓开发去实现iOS的效果,真是强人所难。翻了翻资料,发现修改状态栏的颜色倒是可行,但要把轮播图顶上去就不容易了。再瞅瞅淘宝和当当,原来两个大厂的App都没做出这个效果。正想跟产品经理说这个实现不了,谁料产品大姐笑盈盈地走过来,指着手机说道:“你看,做成京东这样就行了。”盯着手机看了半晌,京东这厮还真的让轮播图插进状态栏了,于是瞬间石化。下面是京东App的首页头部截图:
导航设计的目的就是需要突出产品的核心,扁平化用户的任务路径。让用户能够顺利的在产品中畅行,让用户时刻清楚自己在应用中所处的位置,及如何前往目的页面。
创建项目 打开Mockplus,点击新建项目,选择“手机”项目类型与合适的页面尺寸,点击“确定”即创建成功,是不是不能更简单!无需任何文件创建操作,无需输入任何文字! 底部导航栏制作 在左侧图标选项卡
在ios手机中,当页面中包含有输入框时,点击输入框,键盘弹起,会让页面中被fixed的元素失效。所以造成了底部吸底和顶部吸顶的元素错位的问题。下面的视频中就出现了这个问题,吸顶元素被推到可视区之外去了,而吸底元素也被推到了键盘之上。
本文将通过三个简单的例子,讲解如何在Tableau中通过颜色图例、字母顺序和国家来控制Z-Order。
xamarin.forms的tabpage在android平台上一直以来都是把tabpage显示在顶部,造成ios,android界面表现不一致,很是恼火。不过随着xamarin 3.1的推出官方提供了tabpage底部显示的接口。具体接口如下(简书不能贴代码?直接截图了。):
在本节中,您将学习如何使用SpriteKit创建自己的平台游戏。您将学习如何实现所有基本游戏功能,如玩家移动,玩家跳跃,相机工作,动画等。
领取专属 10元无门槛券
手把手带您无忧上云