AndroidDev 板


LINE

※ 引述《Ferich (纯粹的透明)》之铭言: : 在前几篇 看到两位大大在讨论 : 我还是有很大的疑问 : 目前 手上测试的手机是 : xperia s 1280X720 4.3寸 PPI 312.47 : Nexus 7 1280X800 7.3寸 PPI 206.77 上述PPI我想指的是实际萤幕解析度/寸算出来的值, 由於我手上没机台,我推论实务上 Xperia s在Android系统环境会设定为320dpi (xhdpi) Nexus 7会设为213 (tvdpi) 因此可计算出这两台的萤幕大小分别为 Xperia s 640dpX360dp Nexus 7 960dpX600dp PS:使用Android所定义的dp单位在设计与开发上是最好的作法。 : 用的套图是 xhdpi的那个资料夹内的图 : 图是用1280X720 下去制作的 : 显示都是正常 : 但是 放到 N7上 却不是因为PPI缩小而变大 : 而是变成只要是warp_content的图 都变成只有相当於画面的1/2 : 也就是说 在xs上满版的图 in N7上 都只有几乎一半大 : 後来用PhotoShop测试 居然要1920X1280的图 在N7上 才会几乎是满版 这段话并不正确, 只有Xperia s是使用drawable-xhdpi内的图, 而Nexus 7会使用drawable-tvdpi内的图, 我这边先假设你App内没有提供drawable-tvdpi的图档, 不过没关系,Android很聪明的会先寻找高解析度的图档, 并自动缩小到tvdpi应有的图档大小。 (若没高解析度的图档,才使用低解析度的图并放大到tvdpi应有的图档大小) 一定要知道图档被使用的情况是下列的哪一种, 1.该View不会动态变动大小,例如icon。 2.该View会动态调整大小,例如使用在background for case 1 假设要显示一个80dpX80dp的icon在画面上,该icon的图档应该多大? 根据解析度不同,所需的图档大小也不同, 因此各个目录里面图档大小如下所列.. drawable-xhdpi 160pxX160px drawable-hdpi 120pxX120px drawable-tvdpi 106pxX106px drawable-mdpi 80pxX80px drawable-ldpi 60pxX60px 若能掌握住此原则,在写layout xml时, 该ImageView的layout_width和layout_height只要使用wrap_content即可, 不用指定80dp,这样弹性会比较大。 for case 2 假设是使用在View的background, 且该View内容会动态改变大小, (ex..layout_width/layout_height设wrap_content或match_parent) 请务必使用9-patch图档,相关讯息请参阅 http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch http://developer.android.com/tools/help/draw9patch.html 9 patch图也是需要依据不同解析度来放置不同大小的9 patch,基本概念与case1相同。 : 问题1. xs 与 N7 萤幕解析度差不多 只是因为寸数 让PPI不同 : 同一套图 为何差异性大 如同上述 Xperia s 640dpX360dp Nexus 7 960dpX600dp 这两个萤幕大小完全不同,因此不可这样相比。 : 问题2. 目前市面上的平板解析度百百种 Nexus10 2560X1600 Sony Z table 1920X1200 : 在如此过高的解析度下 就得靠 screen size的方式来区分 而非 dpi资料夹了吗? screen size跟drawable-<l/m/h/tv/xh/>dpi资料夹完全没关系, 千万不要把这两个混在一起看了。 Android中screen size指的是萤幕大小,并非指解析度。 (因为有很高解析度但萤幕很小的情况,反之亦然) Android使用dp单位来来当单位长度,因此可以使用dp来解释萤幕大小 160dp = 1寸 ,因为dp是以 mdpi(160dpi, 1寸有160px)为基准, 在mdpi的状况下,1dp = 1px。 以你提的两个例子, 可分别算出萤幕大小为 Nexus10(xhdpi) 1280dpX800dp Sony Z table(hdpi) 1280dpX800dp 因此这两台萤幕是一样大的。 : 问题3. 有无可以尽量 等比放大的设定啊~ 看起来解析度差没关系 : 只要版面不要跑掉. 通常不会这样设计介面... 我认为一般有水准以上的app大致会区分 手机、7寸平板/手机、10寸平板并分别设计layout 以小於600dp为手机介面 以大於等於600dp(sw600dp)小於800dp为7寸平板手机介面 以大於等於800dp(sw800dp)为10寸平板介面 : 问题4. 在上述的例子中 N7 1280X800 7.3寸的ui满版 要用1920X1280的原因是... : 这样在设计上 很难捉模 ui应有的尺寸. 首先要有个认知就是, 在相同萤幕大小手机中,会有各种不同的解析度, 连10寸平板解析度都很有可能小於手机的解析度。 因此 只要把一般的图档以及用在background的图档的使用方式/时机弄清楚, 配合有弹性的介面/layout设计, 开发Android layout应该是很轻松愉快的啦~ : 感谢看完 请鞭 : 以上. --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.34.92.63







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP