返回首页  设为首页  加入收藏  今天是:
网站首页vivo手机oppo手机华为手机苹果手机荣耀手机小米手机三星手机魅族手机中兴手机
相关文章
 vivo官网APP全机型UI适配方案
 vivo成为2022FIFA卡塔尔世界…
 三星5G实力派曝光升降+骁龙8…
 三星深度探底旗下最便宜的5G…
 三星Galaxy A53 5G手机缔造流…
 三星Galaxy A42 5G发布:搭载…
 三星Galaxy A14 5G美国版发布
 软件教程专区-热门人气手机软…
 苹果手机怎么越狱?
 用安卓手机就能给iPhone越狱
 iOS 101怎么越狱?iOS 1011越…
 ios8盘古越狱完美越狱教程[图…
 很多人不喜欢曲屏手机?荣耀…
 荣耀发布低价高配机型双模5G…
 【荣耀60价格】荣耀60手机报…
 荣耀Magic4全新旗舰系列手机…
 超越小米和荣耀iQOO冲上中端…
 魅族17多张图片亮相 官方:目…
 魅族20系列2月下旬发布的话你…
 魅族宣布 M3 Pro Hi-Fi 播放…
 魅族20系列外观和配置曝光或…
 够用党首选!一图回顾魅蓝手…
 多款热销机型限时降价!OPPO…
 oppo微信主题怎么设置主题
 湖南手机消费新风向OPPO体验…
 如何在oppo手机中获得免费主…
 oppo主题商店破解版(永久试用…
 中兴V889M 全民飞机大战 101…
 中兴t98刷机和手机评测
 中兴三箭齐发 Grand Memo为游…
 中兴总经理:手机预装游戏免…
 中兴通讯白柯柯:移动互联是…
 华为Mate 50 Pro是鸿蒙30系统…
 华为nova10可以安装鸿蒙系统…
 华为nova10是什么处理器 华为…
 华为太猛了千元好机:256G大…
 华为鸿蒙官网再次更新!多达2…
 小米折叠新机最新配置曝光:…
 硬刚三星小米新一代折叠屏终…
 小米折叠屏手机参数配置曝光…
 小米折叠屏手机什么时候发布…
 小米折叠屏手机曝光或配备一…
 vivox21有几款型号
 vivo S16系列再次被确认:三…
 紧跟安卓版本迭代升级vivo首…
 vivo首批适配Android 13 Bet…
 vivo新机通过工信部入网认证…
 我为什么一直用三星手机
 2022年12月三星手机推荐 三星…
 三星新机即将上市5nm芯片+64…
专题栏目
网络
您现在的位置: 手机评测网 >> vivo手机 >> 正文
高级搜索
vivo官网APP全机型UI适配方案
作者:佚名 文章来源:本站原创 点击数: 更新时间:2023/1/10 17:04:40 | 【字体:

  杜宥仪新浪微博日益新增的机型,给开发人员带来了很多的适配工作。代码能不能统一、apk能不能统一、物料如何选取、样式怎么展示等等都是困扰开发人员的问题,本方案就是介绍不同机型的共线方案,打消开发人员的疑虑。

  科技是进步的,人们对美的要求也是逐渐提升的,所以才有了现在市面上形形色色的机型

  (2)比如vivo 折叠屏高端手机,提供更优质的视觉体验,属于折叠屏机型。

  (3)比如vivo pad,拥有优秀的操作手感和高级的质感,属于平板机型。

  在此之前,我们主要是为直板手机去服务,我们的开发只要适配这种主流的直板机器,我们的UI主要去设计这种直板手机的效果图,我们的产品和运营主要为这种直板机型去选择物料。

  (1)开发人员的适配成本高了,是不是针对每一种机型,都要做个单独的应用进行适配呢?

  (2)UI设计师要做的效果图要多了,是不是要针对每种机型都要设计一套效果图呢?

  (3)产品和运营需要选择的物料更受限制了,会不会这个物料在一个机器上正常。在其他机器上就不正常了呢?

  日渐丰富的机型适配让我们这些android开发人员疲于奔命,虽然可以按照要求进行适配,但是大屏幕的机型适配成本依然比较高,因为这些机型不同于传统的直板手机的宽高比例(9:16)。所以有的应用干脆就直接两边留白,内容区域展示在屏幕正中央,这种效果,当然很差。

  上面的案例其实只是表面的问题之一,作为开发人员,需要考虑的因素有很多,首先要想到这些机型有什么特点:

  页面拉伸、左右留白是现象,这也是用户的直接体验。那么这就是我们要改善的地方,所以现在就有方向了,围绕着 “如何在可见区域内,展示更多的信息” 。这不是布局的简单重新排列组合,因为 方案绝对不是只有开发决定如何实现就可以怎么实现的,一个apk承载着功能到用户手里涉及了多方角色的介入。产品经理需要整理需求、运营人员需要配置物料、发布apk,测试需要测试等等,所以最终的方案不是一方定下来的,而是一个协调统一后的结果。

  每个应用要展示的内容不一致,但是原理一致,此处就以下面几个样式为基础介绍原理。原则也比较简单,尽可能展示更多内容,不要出现大面积的空白区域。

  下面没有介绍分栏模式的适配,因为分栏的模式也可能被用户关闭,最终成为全屏模式,所以说,可以选择只适配全屏模式,这样的适配成本较低。当然,这个也要根据自己模块的情况来确定,比如微信,更适合左右屏的分栏模式。

  直板机型,目前主流的机型,宽高比基本是9:16,可以最大限度地展示比较多的内容,比如下图中的模块1、模块2、 模块3的图片。

  折叠屏机型,屏幕可旋转,但是宽高比基本是1:1,高度和直板机器基本差不多,可以达到2000px的像素,所以在纵向上,也可以最大限度地展示比较多的内容,比如下图中的模块1、模块2、 模块3的图片。

  pad平板,屏幕可旋转,并且旋转后的宽高比差异较大,纵向时,宽高比是5 : 8,横向时,宽高比是8 : 5。

  在pad纵向时,其实高度像素是足够展示很多内容的,比如下图中的模块1、模块2、 模块3的图片;

  但是在pad横向时,没办法展示更多的内容(倒是有个方案,最后再说),只能下图中的模块1、模块2的图片。

  确定一个apk能不能适配所有机型,首先要解决的是要符合不同机型的特性,比如直板手机只能纵向显示,折叠屏和pad支持横竖屏旋转。

  外屏与直板屏是保持一致的,暂且不讨论。但是内屏(大屏)要支持横竖屏切换。如果是一套代码,显然是无法通过AndroidManifest文件来实现的。这里其实系统框架已经帮我们实现了对应内屏时横竖屏的逻辑。总结就是,折叠屏可以与直板屏保持一致,在AndroidManifest.xml中给Activity设置android:screenOrientation=portrait,如果切换到内屏时,系统自动忽略掉screenOrientation属性值,强行支持横竖屏切换。

  当然了,并不是所有的项目对应的系统都会自动帮我们忽略screenOrientation属性值,这时候就需要我们自己来实现了。

  我们通过在Activity的基类中设置setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED),发现确实能够使当前页面横竖屏自由切换了。但是在启动activity的时候遇到了问题。当我们从横屏状态A界面启动一个acitivity的B界面时,发现B界面先是竖屏,然后切换到了横屏(如图1所示)。再试了多次依旧如此,肉眼可见的切换过程显然不能满足我们的需求。这说明通过java代码动态调整横竖屏的技术方向是行不通的。综上所述,通过同一份代码无法满足PAD端和直板屏的互斥的需求。

  那还有没有其他方式呢。别忘了,我们Android打包全流程是通过gradle完成的,我们是不是可以通过切面编程的思维,针对不同的设备打出不同的包。

  因此,我们可以在AndroidManifest文件merge完成之后对该临时文件中的android:screenOrientation字段值信息进行动态修改,修改完成之后再存回去。这样针对pad端就可以单独打出一份apk文件。

  到这里为止,java代码是完全一致,没有区分的,关键就在于框架有没有提供出忽略screenOrientation的能力,如果提供了,我们只需要输出一个apk,就能适配所有机型,

  如果没有这个能力,我们就需要使用gradle打出额外的一个apk,满足可旋转的要求。

  通过上面的落地方案的要求,对于模块2的图片,展示效果是不一样的,如下图:

  (1)直板手机上面,模块2的图片1在上面,图片2、3分布于左下角和右下角

  (3)折叠屏和pad上的模块2的图片,相对于直板手机来说,做了样式的调整,上下的样式改为了左右。图片也做了对应的放大,保证横向上可以填充整个屏幕的宽度。

  (2)折叠屏或者pad上面,模块3的图片1的高度也是300px,但是内容不能减少。

  (3)解决方案就是提供一张原始大图,假如规格为2400px*300px,在直板手机上左右进行裁剪,如下图所示。折叠屏和pad上面直接进行展示。而裁剪这一步,放在服务端进行,因为客户端做裁剪,比较耗时。

  无感刷新,主要是体现在折叠屏的内外屏切换,pad的横竖屏旋转这些场景,如何保证页面不会出现切换、旋转时候的闪现呢?

  (3)数据源驱动UI,千万不要在UI层面判断机型做UI的动态计算,页面会闪屏,体验不好。

  上面介绍了不同机型的适配规范,这个没有疑问之后,直接通过案例来看下具体如何实施。

  如上图所示,选购页可以大致分为 分类导航栏区域 和 内容区域,其中内容区域是由多个楼层组成。

  如图所示,能够直观地感受到,从直板手机到折叠屏内屏再到Pad横屏,当设备的可显示面积增大时,页面充分利用空间展示更多的商品信息。

  通过前面的简单介绍,对选购页的整体布局及不同设备上的UI展示有所了解,下面来看下如何在多个设备上实现一套代码的适配。

  对于折叠屏来说,折叠屏可以由内屏切换到外屏,也就涉及到了两种不同状态的切换。

  当屏幕类型、横竖屏切换、内外屏切换时,Activity\Fragment\View 会调用onConfigurationChanged方法,因此针对直板手机、折叠屏及Pad可以将数据源的切换放在此处。

  无论是哪种设备,最多是只有两种不同的状态,因此,数据源这里可以准备两套:一种是Normal、一种是Width,对直板手机而言:因为只有一种竖屏状态,因此只需要一套数据源即可;对折叠屏而言:Normal存放的是折叠屏外屏数据源,Width存放的是折叠屏内屏数据源;对Pad而言:Normal存放的是Pad竖屏状态数据源,Width存放的是Pad横屏状态数据源。

  以折叠屏为例:针对每个子楼层的数据,在解析时,就先准备两套数据源:一种是Normal、一种是Width。

  在请求网络数据回来后,在解析数据完成后,存放两套数据源。这两套数据源要根据UI设计的规则来组装,例如以折叠屏的楼层4为例:

  注意:这里的2、3数字是UI设计之初就定下来的,每行商品都是一个RecyclerView,并且使用GridLayoutManager来控制其列数,因此这个2、3也是传入到GridLayoutManager的列数值,这里要保持一致。

  通过onConfigurationChanged方法,能够看到数据源是如何根据不同屏幕类型进行切换的,当数据源切换后,会通过notifyDataSetChanged方法来改变UI。

  以这个作为指导思想,可以做很多其他的适配。下面做些列举,但不讲解实现方式了。

  如下图所示,标题的长度,在整个容器显示宽度变宽的同时,也跟着一起变化,保证内容的长度可以自适应的变化。

  如下图所示,蓝色区域是键盘的高度,在屏幕进行旋转的时候,键盘的高度也是变化的,此时可能会出现遮挡住原本展示的内容,此处的处理方式是:让内容区域可以上下滑动。

  如下图所示,在屏幕旋转之后,摄像头可以出现在右下角,此时如果不对页面进行设置,那么就可能出现内容区域无法占据整个屏幕区域的问题,体验比较差,此处的处理方式是:设置页面沉浸式,摄像头可以合理地覆盖一部分内容。

  通过前面的介绍,我们知道了,vivo官网的团队针对折叠屏和pad这种大屏,采取了全屏展示的方案,一开始的时候,我们遇到的问题也得到了解决:

  (1)开发人员的适配成本高了,是不是针对每一种机型,都要做个单独的应用进行适配呢?

  (2)UI设计师要做的效果图要多了,是不是要针对每种机型都要设计一套效果图呢?

  (3)产品和运营需要选择的物料更受限制了,会不会这个物料在一个机器上正常。在其他机器上就不正常了呢?

  折叠屏和pad两款机器,已经在市面上使用较长时间,各家厂商也纷纷采取了不同的适配方案来提升交互体验,但是往往存在下面几个问题:

  我们是一个安装包适配所有机型,每种机型的APP展示的样式虽然不同,对于开发者来说,就是增加了一个样式,思路比较清晰。

  不同机型的纵向、横竖屏切换,都做到了完美适配,一套物料适配所有机型也是我们的一个特色。

  本方案是基于实际开发遇到的问题,进行的梳理,可以帮忙开发人员解决实际可能遇到的问题,具备更好的参考性。

  回首方案,我们这里做到的是使用全屏模式去适配不同机型,更多的适用于像京东、淘宝、商城等电商类APP上,实际上,现在有些非APP会采用分栏的形式做适配,这也是一种跟用户交互的方式,本方案没有提到分栏,后续分栏落地后,对这部分会再进行补充。

vivo手机录入:admin    责任编辑:admin 
  • 上一个vivo手机:

  • 下一个vivo手机: 没有了
  •  
     栏目文章
    普通vivo手机 vivo官网APP全机型UI适配方案 (01-10)
    普通vivo手机 vivo成为2022FIFA卡塔尔世界杯全球官方手机 (01-10)
    普通vivo手机 vivox21有几款型号 (01-10)
    普通vivo手机 vivo S16系列再次被确认:三款不同的版本参数… (01-10)
    普通vivo手机 紧跟安卓版本迭代升级vivo首批适配安卓12 Bet… (01-10)
    普通vivo手机 vivo首批适配Android 13 Beta版本 (01-10)
    普通vivo手机 vivo新机通过工信部入网认证预计为iQOO U6e (01-10)
    普通vivo手机 2022年vivo最值得入手的手机 (01-09)
    普通vivo手机 vivo最新资讯 (01-09)
    普通vivo手机 他们把玉石做成了手机?vivo S16 Pro上手体验 (01-09)
    普通vivo手机 vivo S16 Pro评测 随时补光的高颜值影像手机 (01-09)
    普通vivo手机 为啥小米、oppo和vivo等手机厂商一定要做高端… (01-09)
    普通vivo手机 国内手机市场出货量报告出炉:市场仍不容乐观 (01-08)
    普通vivo手机 国产手机迎弯道超车机会 2023将成折叠屏爆发年… (01-08)
    普通vivo手机 手机出货量暴跌34%!2022年换机周期长达3年 (01-08)
    普通vivo手机 寒冬与拐点消费电子度过最难一年 钛媒体深度 (01-08)
    普通vivo手机 8点1氪丨中国人寿客服回应新冠阳性不理赔;钟… (01-08)
    普通vivo手机 一家神奇的手机公司全球排名第四却鲜为人知!… (01-08)
    普通vivo手机 好的商业模式是设计出来的如何学习雷军的小米… (01-08)
    普通vivo手机 【港股通】小米(01810)手机11月环比销量增幅排… (01-08)