问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于Android界面适配的思考及最终解决方案

发布网友 发布时间:2023-01-05 12:53

我来回答

1个回答

热心网友 时间:2023-10-15 23:03

一直以来都用px映射表来解决不同界面的适配性问题(参考: Android界面开发精要1:尺寸 )。最近在一些设备上发现,这种方案也有弊端:以UI图的基础设计是基于720*1280(如Galaxy Nexus)为例,最近发现有些设备的像素宽高比并不是如此,比如Nexus 4就是768*1280。

这种情形下,不同的映射方式会有不同的效果:

仔细思考就会发现问题的本质是:控件宽高计算基准是不同的

这让我想起iOS开发中,其界面设计系统AutoLayout,就采用了一个计算公式:

也就是说,任何控件都可以以其他控件的属性值来定义自身的属性值,所以其可塑性非常高。不过实际应用中也会带来一个问题,就是太灵活,导致多重约束,有时候会彼此冲突。

仔细想想,最常见的视角参数应该就只有3个:

透过这3个参数,应该可以定义任意控件的属性值。

现在问题来了,Android怎么做到呢?答案是:**** android-percent-support-extend ****

对于值可以取:10%w , 10%h , 10% , 10%sw , 10%sh,缩写含义为

对于一开始的界面,最后xml文件为:

效果如下:

这种直接裸写百分比的方式比价繁琐,相较之下,目前采用px映射表的方案中写的px值直接在UI设计图中取就行,更加简单。
  其实px映射表方案也就是百分比的方案,而且x值和y值已经分开,所以也可以解决正方形变形的问题。
  目前需要客服的问题主要在于px映射为px,导致如果没有覆盖到设备的分辨率,就会出现问题,改成px映射为dp后,这种问题应该会减少很多。

Panda
2016-11-29

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
正确的调搓丝板方法 正确的调搓丝板方法介绍 搓丝板失效的多种原因及如何预防? 副职领导签批公文技巧 上级审批意见怎么写 怎么卸摘网吧电脑上的“世界之窗”浏览器 怎么才能卸载世界之窗浏览器? 麻烦帮我翻译两个句子,谢谢,谢谢。 ...结构层次和结构关系 原理讲下 谢谢谢谢 老师讲过了我么听懂啊_百度... 这两个句子的主干是什么,谢谢谢谢 为什么会有人选择一辈子不结婚呢? 51单片机char取值范围 冬天桔子怎样保存不会烂 水瓶座和什么星座最配做闺蜜? 09款比亚迪f3油表参数 比亚迪l3的油表怎样看请说明白 比亚迪秦如何看油量(比亚迪秦燃油版油箱是多少升) 雷蛇鼠标固件升级失败了还能修好吗?如题 谢谢了 章鱼和鱿鱼有哪些区别 微软到底是干什么的 HTML文件的增强标记 买银项链是买925好还是990好呢 央视孟盛楠怎么主持《乡愁》去了? 2018感恩节英语手抄报版面设计边框图案内容 感恩节英语手抄报简单又漂亮 哪位朋友能帮忙设计下北疆旅游路线 其间想在禾木村住两天 喀纳斯 可可托海和魔鬼城是铁定要去的 北京出发 从可可托海开车回北京都路过哪里 新装空调内机漏水 音乐家的英文怎么写 腾讯会议如何开视频会议 潮起潮落是种无悔是什么歌 怎样通过手机修改QQ密码 蜂蜜和西瓜能一起吃吗 质量体系对方针目标形成文件是不是强制性的? 求问如何审核质量目标 微信转移聊天记录到另一台手机 相约银饰有钻石么?我朋友送了个戒指上边写的相约s925还有个类似钻石的在上边!能值多少钱? 急急急!!!我想请教一下相约银饰的戒指尺寸是在戒指内圈写的 yy s925 21 尺码是21吗? 瑜伽球瘦身 帮你瘦出好身材 梦见多年不见的同学 梦见很多年不见面的同学 梦见好多年不见面的同学 扣除专项附加项目是什么意思 怎样把苹果手机里的数据转移到华为手机里? 为什么DNF无法更新啊! 电脑玩DNF特卡 系统更新这样的配置怎样怎样更新 玩DNF,有两台电脑需要更新,怎么更新一台,复制下载的文件,到哪个文件夹?? 家用电脑怎么更新dnf更新好了又要更新呢? 求解 DNF怎么重装系统? 我家电脑不能更新DNF游戏是怎么回事 好几年前的电脑了。一时半会儿还换不了。怎样升级才能玩DNF(只求这一款游戏)求大神解答