禁用横屏模式是不可原谅的吗?

3
我们的应用程序在横向模式下没有任何问题,但是我们正在考虑强制使用纵向模式,因为转换方向会导致许多屏幕出现随机崩溃问题。避免这些崩溃可能会使我们有更多时间专注于应用程序的核心方面。当用户切换应用程序时,是否会发生相同的崩溃问题?
另外,我们的应用程序是否会在只支持横向模式的设备上变得无用?请问这样做是否合适?

1
如果你不明白为什么它会崩溃,强制竖屏不是一个好的解决方案。使用logcat,找出它崩溃的原因,然后修复它! - Cheryl Simon
你的应用程序崩溃很可能是设计问题造成的。修复这个错误可能值得花时间,因为它可能会在其他情况下出现。 - Jeffrey Blattman
3个回答

7

有一个方面可能是不可原谅的。

如果用户使用虚拟键盘与您的应用程序进行大量交互,则应注意一件事:

出现了带有滑动物理键盘的新型Android手机,该键盘仅适用于横向模式。这样的设备示例是HTC G1

由于这些Android通常是高端机型,它们的用户非常自豪地拥有物理键盘。如果您的应用程序不允许他们在可以使用物理键盘时使用它们,他们将对此感到非常愤怒,甚至可能会在Android应用市场上给您负面评价。是的,听起来很残酷,但这就是生活。

否则,只有纵向模式的应用程序运行良好且没有错误也是可以接受的。

故事寓意:尽可能让更多的客户满意。您不会总是成功,但如果您惹恼了其中的少数人,您可能会失败。


2

一个不稳定的应用程序或者一个没有考虑周全、不适合横屏的UI界面比一个只支持竖屏的应用程序更糟糕。

可能有一些设备无法处理仅支持竖屏的应用程序,但大多数设备都可以正常运行。您最好限制应用程序的方向,直到Android横屏或您的业务优先级使其更重要为止。


1

程序崩溃可能是由于改变方向时重新启动活动造成的。通过配置更改,您可以在不强制应用程序始终处于纵向模式的情况下防止此问题。添加配置更改行即可防止活动重新启动。

<activity 
android:name=".active.help.HelpMenu" 
android:label="@string/help_string"
android:configChanges="keyboardHidden|orientation">

在这个活动中,您必须包括重写的onConfigurationChanged方法。 - james
那并不能解决任何问题,只是隐藏了真正的问题,使其不那么频繁发生。应用程序可能会遇到许多其他配置更改。解决方案是修复应用程序中的崩溃,而不是隐藏它们或减少发生次数。 - hackbod
@hackbod - 我同意你的观点,但他最初的说明说他们没有时间或资源来修复问题,他们正在考虑将应用程序锁定在纵向模式下。我更喜欢进行配置更改而不是锁定方向。 - Eliseo
+1 我们实现了这个解决方案,看起来运行得相当不错 :-) 现在我应该接受流行答案还是这个答案呢? :-/ 我们将先进行大量测试,以确定它是否是一个好的解决方案。非常感谢! - Nicolas Raoul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接