说到负一屏,就必须先要说一下widget,也就是小部件。一般在手机的桌面设置中可以找到并添加,widget通常可分为两大类:控制类和查看类。比如系统中的快捷开关设置、时钟、便签、天气、日历、以及第三方App,如音乐类、即时新闻类。每个应用的小部件又有不同的占位大小可以选择,本质上无差异,只是展示内容多少的差异。
实际使用中,用户一般将widget放置于主屏,因为widget的存在就是为了以最快的速度和最短的 *** 作路径去完成某项功能。而主屏是解锁手机后到达的第一个界面。每个widget中一般只有所属应用最核心和常用的功能,过多的功能设置不仅会增加内存占用率,也不符合widget简洁、高效的目标定位。
然而,安卓系统发展到现在,虽然widget一直存在,第三方应用也做了相应的开发,但似乎并没有什么存在感,第三方应用也没有将其当作产品的重点功能去设计。原因主要有以下几个方面:首先,在第三方 Rom 的定制过程中已经默认将时钟、天气这两个实用性最强,查看频率最高,甚至可以说是两个必有项的小部件默认放置于主屏位置,用户不必自己去寻找、设置,部分用户甚至根本不知道那其实是一个小部件,这样的话用户失去了最可能发现和了解widge的途径。另一方面,系统常用开关设置在下拉列表中的整合已经相当完善,相比作为小部件而添加的快捷设置按钮,也只是多了下滑的一个 *** 作,并不会造成太大的 *** 作与记忆负担。另一类,像音乐类App,用户在使用时,并不会长时间停留在应用内的页面上,但是有时又需要进行频繁的切歌 *** 作。大多数的情况是,一边聊微信、刷微博,一边听音乐。而在这个时候,不论是重新打开应用还是去该应用所拥有的widget *** 作,都需要打断并推出当前应用, *** 作过程并没有太大差别,都比较繁琐。特别是频繁 *** 作后,用户容易产生厌烦感。相比而言,用户更为接受的方案是将常用控制按钮整合到下拉通知当中,避免了退出当前页面。另外,大部分用户并不希望自己的主屏被大面积占位。下部Dock,中下部常用应用,顶部时钟+天气可以说是目前最适用、美观的布局方式了。满屏的不同风格的widget摆在一起总显得不那么协调美观。
但是,部分用户对widget的使用还是很忠诚的,年级稍大的父母可能不习惯去下拉通知里打开Wi-Fi开关,也不习惯从多任务界面去释放内存,这个时候在主屏上的快捷 *** 作按钮就是最好的选择了。另外,一些工作事务繁多的用户,都觉得在桌面放置一个事件提醒的widget是很有必要的。总的来说,这些用户不会考虑放置widget后,桌面是不是能够保持统一整洁。更多考虑的是widget的简便快捷与实用性。
总之,widget发展到现在,可以说是一个存在感不强,但从某些方面来讲又是不可或缺的部分。
到后来,各大安卓智能手机厂商先后推出负一屏,甚至对后台和内存使用控制极为严格的ios也推出了类似的功能。MIUI负一屏主要内容和功能有全局搜索(网页、设置、应用、视频、文件、联系人、短信、邮件、应用功能) 快捷入口(付款码、微信扫一扫、微信名片、公交卡、便签、日程) 即时信息及提醒(快递信息、支出信息、通勤路况、打车出行信息、日程信息)关注动态(足球看台、篮球看台、股票信息),可以看出主要定位在日常生活场景。
微软桌面负一屏主要功能和内容有全局搜索(应用、联系人、)最近常用(最近图片、文档、联系人、应用)日程提醒,定位于办公场景,提升办公效率。由于对第三方的支持很少,所以很特别的,系统中原有的widget可以通过卡片的形式添加到负一屏的卡片中。
在iOS 10之前,苹果连widget都没有,iOS 10 中开始出现的负一屏,也与安卓的widget有着极大的相似性,与安卓厂商的做法不同,苹果的负一屏可以说是对安卓widget的致(chao)敬(xi),除最基本的系统组件外,负一屏的小组件由第三方开发,苹果只是负责将它们放置在负一屏的位置上,小组件数目、种类都远超安卓厂商的负一屏。但也正是因为如此,与安卓厂商的负一屏相比,缺少较高的整合度,目前来看,也仅仅是个widget的集合页面,定位并不明确,傻傻分不清。
从表面上来看,负一屏似乎是widget的集合,但从内容上来看,发现两者的设计和定位又有着本质的区别。简单来说:
一、更加明确的定位
这里先不说iOS,安卓上出现的负一屏可以说是根据场景而设计的,就像MIUI的负一屏根据日常生活的使用场景去设计,微软的卡片页根据工作的使用场景去设计,不再是“widget 大杂烩”。这样至少可以抓住有某种使用场景需求的用户人群,针对性的设计也进一步提升了用户体验。
二、交互方式的改变
使用widget时,用户需要先找到小部件页面,选择并添加到屏幕中的某个位置。而负一屏可以直接通过右滑进入,单独开辟新的页面去布局,而不是与应用图标“抢车位”,对用户更加友好。系统默认开启,并且有默认添加的快捷按钮和组件内容。与widge的“默默无闻”不同,负一屏更像是主动吸引着用户去关注和使用。与widget类似,负一屏中,用户可根据使用习惯自行添加、删除内容,也可对排列顺序进行调整。虽然部分用户因误 *** 作而进入自己不常使用的负一屏而吐槽声不断,但对于有真实需求的用户来说,这种进入方式还是比较合理的,在保证快速进入和查看的同时又保证了页面的整洁。
三、更高的信息整合度
不同于widget,负一屏是由系统定制厂商设计和开发的,所以其整合度更高,所拥有的权限也更高。比如MIUI负一屏中的“快捷功能”部分,不仅集合了系统应用,还集合了类似于付款码和微信扫一扫的第三方应用功能快捷入口。不必为某个应用的某个快捷功能开辟新的卡片。这点还体现在相关信息的记录,比如收支情况的记录,会累积所有App内产生的收支情况。同类的控制项与信息的高度整合,不仅获得了占位的最高利用率,也对用户的 *** 作和交互带来了方便。用户对手机的“控制感”更强。
四、更加智能的人性化服务
负一屏中的部分组件根据情景设置和设备获取的位置信息、应用信息,智能化地为用户提供信息。可以说是在基本快捷功能基础上的重大提升。如MIUI 负一屏中可根据实时的位置信息提供到家或公司的路况、打车信息。以及通过读取 购物App的快递信息提供最新的物流信息。通过搜集各种信息、记录,通过更加智能的方式去减少用户的 *** 作过程,提供更加人性化的服务。
单说安卓系统,相对于widget,负一屏确实进步了不少,可以说取其精华,弃其糟粕。从负一屏现在的发展情况来看,功能上的创新仍有,但毕竟是有局限的,也极容易被模仿、抄袭。而如果以类似于智能情景的方式去发展,对设备、应用数据进行获取、分析,结合人工智能,根据用户所处的情景,通过负一屏的组件内容来提供用户某时某刻某地可能或必须的信息、功能服务,仍有不小的进步和发展空间。用机器的智能化给用户带来更便捷的服务和更好的体验。虽然经常看到用户吐槽负一屏,而且四处打听如何关闭,很大程度上,可以说部分用户无法接受新的与应用交互的方式,局限于原有的 *** 作逻辑中,觉得负一屏并没有什么卵用,反而妨碍了自己的正常 *** 作。但从个人的实际使用体验来看,负一屏中的内容对于提升 *** 作效率,提供便捷信息还是有很大帮助的。习惯使用后,甚至会离不开某些快捷功能。相信各大厂商也绝不是“无脑”地去推出负一屏。
上面文章我们初步进行了 项目搭建 ,下面就来开发微信项目的发现页面
通过微信发现页面的UI图,我们知道 Cell 需要对外提供四个属性 title 、 subTitle 、 imageName 、 subImageName 用于页面展示
discover_page.dart 文件添加 ListView
上面我们实现了发现页面的列表,但是 Cell还无法点击 ,下面实现 Cell点击以及跳转逻辑
注意⚠️:如果不小心点到 Pub get 导致flutter卡住,一般是 网络的原因 ,也有可能是不小心改动了 pubspec.yaml 文件,复制一份重新配置。
GestureDetector 手势的点击状态
问题: _DiscoverCellState访问不到DiscoverCell中的 title等属性?
解决方法: _DiscoverCellState 中使用 widget.title 来访问 DiscoverCell 中的 title 属性,这里的 widget 就是 DiscoverCell
新建 discover 文件夹 右击 ->new ->package ,把发现相关页面放入
我的页面头部,自定义小部件 headerWidget 开发
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)