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

同一个 Android App 怎么优雅的在两类设备上有不通的 UI 展现和逻辑处理?

  •  
  •   acjiji · 2017-05-02 15:39:04 +08:00 · 4739 次点击
    这是一个创建于 2543 天前的主题,其中的信息可能已经有所发展或是发生改变。
    同一个 App 要在两类设备上使用,不同类的设备展现和处理并不完全一致。如何在不频繁使用 if else 的情况下优美的解决。

    比如一个场景:某款 Android App 需要同时在手机和 POS 机上有不同的展现,POS 机的比 Android 的多了一些 NFC 验证和其他特定需求。随着后续版本的严谨,这两类设备上的差异会越来越大。


    https://www.zhihu.com/question/59287019?guide=1
    6 条回复    2017-05-10 14:04:30 +08:00
    padeoe
        1
    padeoe  
       2017-05-02 15:51:56 +08:00 via iPhone
    编写多个 layout,首次启动检测并决定使用哪一个 layout.这应该是个常见问题,android 文档或 google 都有相关介绍的
    nicodelee
        2
    nicodelee  
       2017-05-02 15:58:03 +08:00
    接楼上,如果逻辑差别太大还可以根据屏幕大小等参数调用不同 Activit 实现。
    layout 的多一套多用在适配界面问题上。
    29995270
        3
    29995270  
       2017-05-03 09:00:45 +08:00 via Android
    使用 product flavor,给不同的 flavor 创建不同的 source set 和 layout set,应该一定程度上可行吧
    20160409
        4
    20160409  
       2017-05-03 20:13:45 +08:00 via iPhone
    优雅的,你区这逼乎病
    ReisenZ
        5
    ReisenZ  
       2017-05-04 08:20:42 +08:00
    感觉...差异太大的话为什么不干脆做成两个版本....直接出个 pos 机版的...逻辑不会乱,还能减小 app 体积...
    QQ2171775959
        6
    QQ2171775959  
       2017-05-10 14:04:30 +08:00
    既然区别会越来越大,那么就只能开发二个不同的版本来适应了。要不然很难满足这二种不同的设置的展现的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3571 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:45 · PVG 08:45 · LAX 17:45 · JFK 20:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.