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

为什么很多主流都国产 android APP 都不支持屏幕旋转

  •  1
     
  •   oonnnoo · 2017-08-30 22:00:42 +08:00 · 21382 次点击
    这是一个创建于 2659 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如:QQ,钉钉,网易云音乐,支付宝,知乎 ...... 都不支持屏幕旋转。

    微信倒是支持旋转。

    77 条回复    2020-08-19 13:00:48 +08:00
    Lonely
        1
    Lonely  
       2017-08-30 22:03:13 +08:00 via iPhone
    有啥必要吗
    Rememberautumn
        2
    Rememberautumn  
       2017-08-30 22:05:34 +08:00
    鸡肋的功能,带来大量的适配工作
    Benisme
        3
    Benisme  
       2017-08-30 22:12:52 +08:00
    为什么要旋转,你手机是正方形屏幕?
    oonnnoo
        4
    oonnnoo  
    OP
       2017-08-30 22:19:57 +08:00
    之前也不觉得有啥必要。但是从自己手机屏碎了一部分,觉得还是挺有必要的。

    如果手机屏碎了一部分,但是也还能用,只是坏了的某些部分就点不了。
    使用支持旋转 APP 那就没有任何问题。
    使用不支持旋转的 APP 呢,某些按钮就死活点不到。
    littleylv
        5
    littleylv  
       2017-08-30 22:24:23 +08:00
    @oonnnoo #4

    那完全是你自己的手机问题啊,小概率事件啊。
    你让人特地为了让碎屏的人可以用而做横屏的?
    oonnnoo
        6
    oonnnoo  
    OP
       2017-08-30 22:28:06 +08:00
    @oonnnoo
    当然上面只是我说的一个特殊情况。
    相较电脑,手机的优势之一就在于可以自由旋转,想横着就横着,想竖着就竖着。
    个人觉得是一些国产 app 是一股脑想简单,不考虑横屏,不考虑场景!
    bumz
        7
    bumz  
       2017-08-30 22:32:45 +08:00
    多支持横屏能够多带来多少用户,多少收入?为了支持横屏增加的复杂度又需要创造多少就业岗位?

    想一想就知道了。
    AckywOw
        8
    AckywOw  
       2017-08-30 22:33:03 +08:00
    iOS 的主流 APP 就都支持横屏么?
    roadna
        9
    roadna  
       2017-08-30 22:33:18 +08:00 via Android
    我的安卓平板表示不想说话。。。
    a412739861
        10
    a412739861  
       2017-08-30 22:40:29 +08:00
    那是你不知道每次设计给一个界面,每次都要追着问横屏如何适配,是有多麻烦。
    circsqua
        11
    circsqua  
       2017-08-30 22:54:11 +08:00
    说的就是你,Android B 站,每次开视频就要横屏
    说的也还是你,iOS B 站,每次开 APP 就要横屏……
    看来各家方案的自适应都没有良好实现
    chensong004
        12
    chensong004  
       2017-08-30 22:55:11 +08:00 via Android
    电视或者 android 系统的电脑等不能旋转屏幕的设备,如果打开了只支持竖屏的软件会是一场灾难
    yksoft1
        13
    yksoft1  
       2017-08-30 22:55:51 +08:00
    为什么几乎全部的国产 Android 非模拟器类手游不原生支持物理按键和手柄操作?
    cunkouwdy007
        14
    cunkouwdy007  
       2017-08-30 23:10:44 +08:00 via Android
    比如 B 站,视频列表是竖屏,全屏播放是横屏,退出全屏后变成竖屏。如果支持全横屏是不是就减少很多不必要的操作。看几个短小精悍的视频麻烦死(¯―¯٥)
    rockyou12
        15
    rockyou12  
       2017-08-30 23:12:44 +08:00 via Android   ❤️ 5
    做为安卓开发告诉 lz,其实设计还是次要的。安卓旋转屏幕,activity 和 fragment 对象都会销毁重建,意味着界面的状态旋转后就没了,开发者要自己维护状态,如果每个界面都要适配旋转那要多不知道多少代码....
    honeycomb
        16
    honeycomb  
       2017-08-30 23:20:16 +08:00
    @rockyou12
    所以字面意义上,不支持横屏的应用确实不是什么好东西
    janus77
        17
    janus77  
       2017-08-30 23:32:02 +08:00 via Android
    先别忙着下结论,去看看国外的大型应用有哪些适配了的。
    不过我还是要说一句,作为平台,系统肯定是支持这个功能的,但是应用支不支持要根据他的实际情况,还有成本与收益来确定。适配是需要成本的,但做出来用户买不买账又是另一回事了,我不拿我自己代表群体,您也别这样
    zhgg0
        18
    zhgg0  
       2017-08-30 23:38:19 +08:00
    大部分界面适配横屏成本太大。跟 Android、iOS 无关。
    yan5990853
        19
    yan5990853  
       2017-08-30 23:44:12 +08:00 via Android   ❤️ 2
    @janus77 刚测了一下,手机里 87 个 app,大部分是国外的,只有 speedtest 不支持横屏;国内的支持横屏的屈指可数,而且应该是个人开发者作品。
    HongJay
        20
    HongJay  
       2017-08-30 23:51:06 +08:00
    适配会带来大量的逻辑和适配问题会让开发者很头痛的
    AEANWspPmj3FUhDc
        21
    AEANWspPmj3FUhDc  
       2017-08-30 23:51:55 +08:00 via Android   ❤️ 1
    都忙着如何将 APP 改进的越来越流氓,哪有时间去适配界面嘛。
    allan1st
        22
    allan1st  
       2017-08-31 00:39:14 +08:00
    @rockyou12 我觉得大多数场景下没你想象的那么难和复杂,有很多简单易用高效的方法如 fragment,ViewModel 甚至 RxReplayingShare ; Android 的 layout 系统也对不同屏幕尺寸非常友好,至少多尺寸布局起来比 iOS 要好得多。估计很多 app 是因为架构比较老,view 和数据粘在一起没有分离,老代码尾大不掉。而另外一些 app 比如『知乎』可以从多窗口支持上看出来,activity 重建的时候数据恢复的很好,不能旋转很可能只是设计问题。
    PS:其实最恐怖的是很多开发者都喜欢用原始低效的 InstanceState 去保存列表里的一堆数据,造成保存恢复状态极其缓慢,系统杀掉 app 以后下次进入要等个好几秒。
    yanhejihe
        23
    yanhejihe  
       2017-08-31 00:42:33 +08:00
    适配会心碎
    yanhejihe
        24
    yanhejihe  
       2017-08-31 00:45:00 +08:00
    @allan1st 现在高效的方法有哪些呢?
    allan1st
        25
    allan1st  
       2017-08-31 00:57:31 +08:00
    @yanhejihe 高效就是放在内存里面,不要去序列号解序列化走 IPC。方法就是我说的,自己写一个 holder 或者用 fragment 用 setRetainInstance,反正就是把数据和会重建的 activity/fragment/view 分开,让数据不要在旋转的时候被销毁,重建的时候在主线程拿出来恢复就可以了。
    hsiunien
        26
    hsiunien  
       2017-08-31 01:00:25 +08:00   ❤️ 1
    作为一个用户,我是习惯性锁定屏幕,不旋转,喜欢躺着看手机,给我自动旋转我没法接受。。。
    作为一个开发者,你知道所有界面实现横屏,如果不是设计模式很熟练的话,工作量几乎是竖屏的两倍。何况安卓本来碎片化严重,能够把竖屏适配好就很不错了,当然某些界面适合横屏的还是可以单独做横屏,比如视频播放或者车载导航,阅读器等。
    kitalphaj
        27
    kitalphaj  
       2017-08-31 06:31:37 +08:00
    @allan1st 请问如果用 ViewModel + Dagger 2 这种组合,如何保证重建后的 Fragment 被注射相同的 ViewModel 而不是全新的 ViewModel? 还是说数据也不要存 ViewModel 里?有没有相关的文章可以阅读一下呢?先谢谢啦!
    kn007
        28
    kn007  
       2017-08-31 07:09:08 +08:00 via Android   ❤️ 2
    习惯性锁定屏幕,不旋转 +1
    daozhihun
        29
    daozhihun  
       2017-08-31 07:23:18 +08:00 via Android   ❤️ 1
    主要还是安卓平板和超大屏用户不受重视。楼上那些说难实现的,谷歌自家的和不少国外应用都可以横屏,难道他们实现起来更简单吗?
    zhaohui318
        30
    zhaohui318  
       2017-08-31 07:32:36 +08:00
    上下栏高度很大,横屏的话就没空间放内容了,很多应用布局根本就不是为横屏设计的,索性直接禁止旋转了
    murmur
        31
    murmur  
       2017-08-31 08:05:04 +08:00
    横屏下你算算弹出个软键盘之后的布局有多畸形 竖屏剩下一半至少还能用
    KNOX
        32
    KNOX  
       2017-08-31 08:06:19 +08:00 via Android
    适配横屏设计和开发都要多做很多工作,在竖屏满足需求的情况下一般不做这种砸自己脚的事。
    zhidian
        33
    zhidian  
       2017-08-31 08:11:17 +08:00
    其实我希望操作系统禁用横屏,默认重力感应不影响屏幕方向。
    mozutaba
        34
    mozutaba  
       2017-08-31 08:14:47 +08:00 via Android
    这旋转都变形了,没啥子必要啊。
    lucifer9
        35
    lucifer9  
       2017-08-31 08:17:47 +08:00 via iPhone
    就没人用手机看照片吗?还是说都是竖着拍的
    why1
        36
    why1  
       2017-08-31 08:31:02 +08:00 via Android
    Google 视频翻译不支持横屏翻译
    doubleflower
        37
    doubleflower  
       2017-08-31 08:54:00 +08:00 via Android
    新买手机的第一件事情就是锁定旋转。
    rocksolid
        38
    rocksolid  
       2017-08-31 09:07:18 +08:00
    新买手机的第一件事情就是锁定旋转
    monsoon
        39
    monsoon  
       2017-08-31 09:12:26 +08:00
    不會啊,工作量其實增加不多的,尤其是對於有經驗的開發者來說,Android 的 UI 機制適配橫屏都不算複雜(遠沒有多1倍的工作量,多 0.2 倍的工作量有沒有我都懷疑)。我自己的應用RTL也會做的,因爲工作量真的不算大。
    我一直覺得很多國內應用不支持橫屏還是因爲那些開發者根本對他們的app不用心,他們只完成他們工作的內容。另外他們很多人寫的相關代碼很敷衍……因爲而且就算不處理橫屏,很多時候還是會走類似的流程的(比如說分屏、系統設置語言變更)。
    很多 Android 開發者或者公司的 App 設計的第一步就算先從只設計橫屏開始偷懶。
    monsoon
        40
    monsoon  
       2017-08-31 09:15:02 +08:00
    不過我國主流的 app 都做的很爛,所以也沒什麼好期望的。
    wuzhizhemu569
        41
    wuzhizhemu569  
       2017-08-31 09:26:27 +08:00
    用户体验的问题因为设计麻烦,做起来麻烦,就不做了,大公司不在乎,反正你必须用,老子是你爹,你敢不用?

    小众的产品估计也没这么多人关注它的产品体验。

    这就是现在安卓一堆垃圾应用的原因,如果强制适配就没这么多事情了。
    66beta
        42
    66beta  
       2017-08-31 09:31:01 +08:00
    上海移动 APP 无视屏幕旋转锁定,怕不怕?
    darklh
        43
    darklh  
       2017-08-31 09:31:54 +08:00
    不知道别的同行如何,反正我开发的 app 全部是仅支持竖屏
    est
        44
    est  
       2017-08-31 09:32:22 +08:00 via iPhone
    苹果那边,不适配 iPad 也是毒瘤。没错我说的就是马云。


    安卓更大的毒瘤是不适配电视屏幕和遥控器点击
    loadinger
        45
    loadinger  
       2017-08-31 09:37:15 +08:00
    就我觉得横屏支持也挺重要的?
    特别是 PAD, 能支持横屏绝对比不支持的用得开心 。
    skyworker
        46
    skyworker  
       2017-08-31 09:39:59 +08:00
    新买手机的第一件事情就是锁定旋转
    assad
        47
    assad  
       2017-08-31 09:49:06 +08:00
    吹毛求疵,人家觉得需要横竖屏适配,肯定都会做,有些玩意横屏了就没法看了
    Plsea
        48
    Plsea  
       2017-08-31 09:52:05 +08:00
    新买手机的第一件事情就是锁定旋转
    whypool
        49
    whypool  
       2017-08-31 10:01:00 +08:00
    锁定旋转,支持横屏也不用
    a4854857
        50
    a4854857  
       2017-08-31 10:13:45 +08:00
    横屏使用的人怕是不到 0.1%....反正我买手机回来就把自动旋转关了
    g5
        51
    g5  
       2017-08-31 10:20:03 +08:00 via Android
    这样做只会让安装包越来越大,他们以后怎么给你添加更多鸡肋的功能?
    torchmu
        52
    torchmu  
       2017-08-31 10:23:35 +08:00
    这种细节性的功能,容易拖慢正常开发进度、增加 QA 测试量、老大们也不看重,RD 也不敢做(容易出 BUG ),更何况或许还要自己抽空加班来弄。毕竟是给公司打工的,KPI 在那里摆着呢,多一事不如少一事。反而个人 APP 自由度就高点,都可以通通尝试一番。
    debuggerx
        53
    debuggerx  
       2017-08-31 10:23:48 +08:00
    再说个原因:
    有时候都快要发版了 ui 设计都还没给全……然后 sb 的 pm 又要实际显示和 ui 图分毫不差——于是问题就甩锅成了:为什么你们公司的设计不给 app 设计横屏的 ui ?
    dullwit
        54
    dullwit  
       2017-08-31 10:29:50 +08:00
    @66beta #42 很简单,获取 sensor 的重力感应判断手机方向,然后强制切换屏幕横竖
    zhxhwyzh14
        55
    zhxhwyzh14  
       2017-08-31 10:45:22 +08:00
    装一个强制转屏就行了
    jpyl0423
        56
    jpyl0423  
       2017-08-31 10:53:38 +08:00
    我倒是不喜欢旋屏, 侧躺的时候, 瞎 TM 的转...
    Sh888
        57
    Sh888  
       2017-08-31 11:15:44 +08:00
    是否支持旋转问题不大。

    最大的问题是:ios 上国产 APP 为什么都喜欢默认用上下 /左右来调节亮度 /音量?而且还不支持关闭!?——这个才是最反人类的设计。
    移动设备屏幕上粘到点灰尘什么的很常见吧?这倒好,你手一抹......不是亮瞎眼就是震坏耳!产品经理都是白痴吗?
    d7101120120
        58
    d7101120120  
       2017-08-31 11:21:19 +08:00
    @Sh888 关屏擦灰才是正确的步骤吧,即是说不是播放器界面,如果你直接擦拭也会误触到其他按钮的。
    Qlccks2
        59
    Qlccks2  
       2017-08-31 11:24:22 +08:00
    没想到除了视频类 APP 外其他的旋转有什么用。qq 网易云在 iphone 上能旋转?
    vjnjc
        60
    vjnjc  
       2017-08-31 11:32:58 +08:00
    既是开发者也是 android 用户,新手机买来第一件事就是锁定旋转,转来转去很耗时
    qiyuey
        61
    qiyuey  
       2017-08-31 11:35:25 +08:00
    成本太高,收益太低
    zhangsimon
        62
    zhangsimon  
       2017-08-31 11:44:54 +08:00
    @oonnnoo 我记得有 app 可以强制旋转屏幕-。-。。。
    freshmanc
        63
    freshmanc  
       2017-08-31 12:23:41 +08:00 via Android
    充电玩手机—>线不够长—>180 度旋屏
    Rysle
        64
    Rysle  
       2017-08-31 13:44:38 +08:00
    @rockyou12 不一定旋转屏幕 activity 就会重建的,可以在 AndroidManifest 里面设置。
    android:configChanges="orientation"
    66beta
        65
    66beta  
       2017-08-31 13:53:28 +08:00
    @dullwit 不是说怎么做到,而是讽刺做法是用屁股决定的
    acros
        66
    acros  
       2017-08-31 14:02:05 +08:00
    手机常规手持姿势习惯就是竖版··
    除非 app 使用在横版时对 App 也有利,比如 Evernote 这种文字处理工具,或者漫画浏览、画图等等。
    无脑加设计说不定还是画蛇添足。只为了横版而横版,为了鄙视而鄙视?
    gao117348222
        67
    gao117348222  
       2017-08-31 14:31:19 +08:00
    竖屏的适配都够麻烦了 再来个横屏 要累死
    loading
        68
    loading  
       2017-08-31 14:38:24 +08:00 via Android
    主流就是床上侧卧玩手机,你转屏幕?卧槽
    allan1st
        69
    allan1st  
       2017-08-31 14:46:15 +08:00
    @kitalphaj 用 Dagger 的 Scope,一个 Activity 在彻底结束之前都属于同一个 scope, 这样注入的是同一个 ViewModel。可以自己写一个 HashMap 存放 Component。具体可以参考一下 Google 新出的 Architecture Component 里面的 ViewModelProviders。
    allan1st
        70
    allan1st  
       2017-08-31 14:48:30 +08:00
    @Rysle 这是不推荐的做法,在分屏或者画中画的时候,还是会重建的,不如一步到位写好恢复状态。
    viator42
        71
    viator42  
       2017-08-31 14:48:45 +08:00
    手机一直是锁定转屏.主要是躺着用的时候会很蛋疼,你竖着看手机横着你横着看手机竖着,各种不对
    TakWolf
        72
    TakWolf  
       2017-08-31 14:52:19 +08:00
    除了一些特殊的场景之外,横屏交互体验非常差。
    Khlieb
        73
    Khlieb  
       2017-08-31 21:30:30 +08:00 via Android
    B 站客户端支持横屏,但只是在播放的时候。
    Rysle
        74
    Rysle  
       2017-08-31 21:40:43 +08:00
    @allan1st 画中画还没试过,不过分屏是确定也可以 activity 自己处理不用 restart 的,敝司的 App (某浏览器)已经历过三星等各大厂商自己的分屏方案和 Android 官方分屏方案的摧残。而且对于我们的 App 而言,restart 恢复的成本太高,体验也不能和自己处理相比。
    chnyang
        75
    chnyang  
       2017-08-31 22:06:22 +08:00
    @oonnnoo 根本没必要考虑。。
    Tony2ee
        76
    Tony2ee  
       2017-09-01 09:53:08 +08:00
    @kn007 其实感觉横屏唯一的目的就是看图 /视频,其实有些应用是可以根据陀螺仪(还是别的啥的),忽略系统设定对应用进行旋转的(比如 Youtube ),如果 Google Photos 也增加这个功能其实我就可以完全锁定旋转了(竖屏看横图浪费太多屏幕空间而且看不清)。(我 at 你能收到提醒吗?好奇)

    另外我再提一点,适配手机的横屏很多情况是因为适配平板电脑的横屏然后顺便做的吧,如果不适配平板电脑的话,单单考虑手机的横屏情况确实有点少(看图 /视频除外)。国外的应用适配安卓平板的比例应该是多一些的。
    teruspot
        77
    teruspot  
       2020-08-19 13:00:48 +08:00 via Android
    说不需要的真不知道怎么想,看视频玩横屏游戏状态下切换到其他应用横屏就很有用了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4992 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 08:34 · PVG 16:34 · LAX 00:34 · JFK 03:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.