V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MudBodhisattva
V2EX  ›  Android

android 屏幕适配问题

  •  
  •   MudBodhisattva · 2018-06-27 10:16:52 +08:00 · 9061 次点击
    这是一个创建于 2332 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在大家写 android 在屏幕适配方面 是多写几套布局还是用 ConstrainLayout 还使用百分比布局?

    13 条回复    2018-07-04 09:54:03 +08:00
    yuriko
        1
    yuriko  
       2018-06-27 11:20:20 +08:00   ❤️ 1
    ConstrainLayout 不是必须的

    写 UI 的时候自己心里得清楚哪里有多宽,不一定是百分比

    一般只有搞不定的时候采用多组资源的方式解决问题,比如 pad 版和 phone 之间差别大的时候
    CrisTao
        2
    CrisTao  
       2018-06-27 11:25:07 +08:00   ❤️ 2
    老老实实用 dp 不就行了吗,还有什么需要适配的?
    MudBodhisattva
        3
    MudBodhisattva  
    OP
       2018-06-27 12:10:49 +08:00
    @CrisTao dp 布局一层套一层,然后有些屏幕大小密度不一样的,比如说很小的,ui 就会放不下,感觉百分比省力些,但是百分比子 view 用会出问题,约束的话新出来的也在用然后有些地方还是不满足
    MudBodhisattva
        4
    MudBodhisattva  
    OP
       2018-06-27 12:14:12 +08:00
    @yuriko 主要 android 碎片化实在恶心,尤其是屏幕小的,用 dp 看着差不多,在小屏幕设备上就超了。
    KNOX
        5
    KNOX  
       2018-06-27 12:16:36 +08:00 via Android   ❤️ 1
    @MudBodhisattva 你说的小屏幕有多小,现在连 5 寸的机子都很少了。
    0x8192dd
        6
    0x8192dd  
       2018-06-27 12:30:01 +08:00
    适配也是具体页面具体策略来的,没有什么银弹,大部分页面 match_parent + wrap_content + dp 值就够用了,小屏拥挤一点,大屏内容多点,很正常,别人买大屏手机是为了看更多内容而不是看放大内容,同样的,买小屏手机也是为了操作更方便而不是看缩小的内容。
    个别复杂页面,可能会用到百分比布局,比如转盘,老虎机这种需要根据屏幕尺寸等比缩放,但对于普通 App 来说,占比太少。
    我一般以 5 寸左右的手机( Pixel,Nexus 5X )作为转换标准,在这个尺寸下,美术给 iOS 的设计稿( 4.7 寸 2x )的值除以 2 差不多就是 dp 值,切图也可以直接使用 iOS 的 2x 图
    MudBodhisattva
        7
    MudBodhisattva  
    OP
       2018-06-27 12:30:25 +08:00
    @KNOX 最近在给一个搞物流的做 app,他们的设备是扫码枪,但是也能用手机,那个扫码枪的屏幕,o(︶︿︶)o 唉。这只是一种情况。
    windsage
        8
    windsage  
       2018-06-27 12:43:10 +08:00 via iPhone
    dp 适配,多几套尺寸,sw 适配
    yukiww233
        9
    yukiww233  
       2018-06-27 12:57:31 +08:00
    @MudBodhisattva #7
    哈哈适配扫码枪有点惨 在上家做过 100 寸横屏大屏的适配..
    yuriko
        10
    yuriko  
       2018-06-28 11:43:37 +08:00   ❤️ 1
    @MudBodhisattva 原则上 dp 的大小是按照屏幕 PPI 去配置的,相当于是一个分辨率 /屏幕大小的值,理论上不同手机对应的 dp 物理尺寸应该差的不大。
    不过和 pt 单位的不同,dp 和像素的比值 density 一般也就一个整.5 的值,所以也就大概。


    不过还有个坑就是…… density 值是由 OEM 去设的,一些小厂商可能会随便乱写……(我当年试过改这破东西)

    所以我觉得你的问题要么是 OEM 设备不正规,要么就是缺 UI 设计
    MudBodhisattva
        11
    MudBodhisattva  
    OP
       2018-06-28 12:09:40 +08:00
    @yuriko 设备是一个问题,主要还是缺 ui 设计啊,为了实现一个布局用本来的相对线性一层层嵌套太麻烦,新出来的约束用不习惯
    yuriko
        12
    yuriko  
       2018-06-28 13:50:43 +08:00
    UI 实现一直都是个繁琐的事情,约束布局不见得就简单了
    我现在连 RelatedLayout 都不怎么用了,觉得也习惯了

    (而且,UI 不是只会把界面搞的更复杂么……
    kinsomy
        13
    kinsomy  
       2018-07-04 09:54:03 +08:00
    CL 对于复杂布局写的太复杂看起来太费劲了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2012 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:19 · PVG 00:19 · LAX 08:19 · JFK 11:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.