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

2017-08-30 22:00:42 +08:00
 oonnnoo

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

微信倒是支持旋转。

21828 次点击
所在节点    Android
77 条回复
AEANWspPmj3FUhDc
2017-08-30 23:51:55 +08:00
都忙着如何将 APP 改进的越来越流氓,哪有时间去适配界面嘛。
allan1st
2017-08-31 00:39:14 +08:00
@rockyou12 我觉得大多数场景下没你想象的那么难和复杂,有很多简单易用高效的方法如 fragment,ViewModel 甚至 RxReplayingShare ; Android 的 layout 系统也对不同屏幕尺寸非常友好,至少多尺寸布局起来比 iOS 要好得多。估计很多 app 是因为架构比较老,view 和数据粘在一起没有分离,老代码尾大不掉。而另外一些 app 比如『知乎』可以从多窗口支持上看出来,activity 重建的时候数据恢复的很好,不能旋转很可能只是设计问题。
PS:其实最恐怖的是很多开发者都喜欢用原始低效的 InstanceState 去保存列表里的一堆数据,造成保存恢复状态极其缓慢,系统杀掉 app 以后下次进入要等个好几秒。
yanhejihe
2017-08-31 00:42:33 +08:00
适配会心碎
yanhejihe
2017-08-31 00:45:00 +08:00
@allan1st 现在高效的方法有哪些呢?
allan1st
2017-08-31 00:57:31 +08:00
@yanhejihe 高效就是放在内存里面,不要去序列号解序列化走 IPC。方法就是我说的,自己写一个 holder 或者用 fragment 用 setRetainInstance,反正就是把数据和会重建的 activity/fragment/view 分开,让数据不要在旋转的时候被销毁,重建的时候在主线程拿出来恢复就可以了。
hsiunien
2017-08-31 01:00:25 +08:00
作为一个用户,我是习惯性锁定屏幕,不旋转,喜欢躺着看手机,给我自动旋转我没法接受。。。
作为一个开发者,你知道所有界面实现横屏,如果不是设计模式很熟练的话,工作量几乎是竖屏的两倍。何况安卓本来碎片化严重,能够把竖屏适配好就很不错了,当然某些界面适合横屏的还是可以单独做横屏,比如视频播放或者车载导航,阅读器等。
kitalphaj
2017-08-31 06:31:37 +08:00
@allan1st 请问如果用 ViewModel + Dagger 2 这种组合,如何保证重建后的 Fragment 被注射相同的 ViewModel 而不是全新的 ViewModel? 还是说数据也不要存 ViewModel 里?有没有相关的文章可以阅读一下呢?先谢谢啦!
kn007
2017-08-31 07:09:08 +08:00
习惯性锁定屏幕,不旋转 +1
daozhihun
2017-08-31 07:23:18 +08:00
主要还是安卓平板和超大屏用户不受重视。楼上那些说难实现的,谷歌自家的和不少国外应用都可以横屏,难道他们实现起来更简单吗?
zhaohui318
2017-08-31 07:32:36 +08:00
上下栏高度很大,横屏的话就没空间放内容了,很多应用布局根本就不是为横屏设计的,索性直接禁止旋转了
murmur
2017-08-31 08:05:04 +08:00
横屏下你算算弹出个软键盘之后的布局有多畸形 竖屏剩下一半至少还能用
KNOX
2017-08-31 08:06:19 +08:00
适配横屏设计和开发都要多做很多工作,在竖屏满足需求的情况下一般不做这种砸自己脚的事。
zhidian
2017-08-31 08:11:17 +08:00
其实我希望操作系统禁用横屏,默认重力感应不影响屏幕方向。
mozutaba
2017-08-31 08:14:47 +08:00
这旋转都变形了,没啥子必要啊。
lucifer9
2017-08-31 08:17:47 +08:00
就没人用手机看照片吗?还是说都是竖着拍的
why1
2017-08-31 08:31:02 +08:00
Google 视频翻译不支持横屏翻译
doubleflower
2017-08-31 08:54:00 +08:00
新买手机的第一件事情就是锁定旋转。
rocksolid
2017-08-31 09:07:18 +08:00
新买手机的第一件事情就是锁定旋转
monsoon
2017-08-31 09:12:26 +08:00
不會啊,工作量其實增加不多的,尤其是對於有經驗的開發者來說,Android 的 UI 機制適配橫屏都不算複雜(遠沒有多1倍的工作量,多 0.2 倍的工作量有沒有我都懷疑)。我自己的應用RTL也會做的,因爲工作量真的不算大。
我一直覺得很多國內應用不支持橫屏還是因爲那些開發者根本對他們的app不用心,他們只完成他們工作的內容。另外他們很多人寫的相關代碼很敷衍……因爲而且就算不處理橫屏,很多時候還是會走類似的流程的(比如說分屏、系統設置語言變更)。
很多 Android 開發者或者公司的 App 設計的第一步就算先從只設計橫屏開始偷懶。
monsoon
2017-08-31 09:15:02 +08:00
不過我國主流的 app 都做的很爛,所以也沒什麼好期望的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/387010

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX