web-dev-qa-db-ja.com

自動回転が無効になっているデバイスでの横向きと縦向き

画面(Androidの「アクティビティ」)で構成されるアプリがあります。これらは、カメラの表示、カメラの録画などを処理するため、主に横モードを強制します。画面の数が非常に多いため、メイン画面も横モードを強制します。それらとは別に、ファイルのリストなど、横長モードと縦長モードの両方で表示できる画面がいくつかあります。

最初に、すべての画面を横向きモードにして、一貫性を保ちます。しかし、そのようなリスト画面で横長と縦長の切り替えを有効にして、長いリストを介したナビゲーションを容易にしました。

自動回転が有効になっているデバイスでは(これはシステム全体の設定です)、すべてが期待どおりに動作します。ほとんどの場合、デバイスは横向きでリスト画面にあり、必要に応じてデバイスを回転させることができます(ただし、そうする必要はありません)。

ただし、ユーザーがシステム全体の自動ローテーションを無効にしたデバイスでは、デフォルトで縦長が使用されます。スマートフォンを横向きにしたままカメラ画面(強制横向き)から離れてリストに切り替えると、リストが縦向きモードで突然表示され、携帯電話を回転させる必要があります。

enter image description here

これは間違いなく予期せぬことであり、バグレポートも発生しました。何をアドバイスしますか?

  1. すべての風景を強制します。長所:一貫しています。短所:長いリストのナビゲートは、それよりもはるかに困難です。
  2. どこでも自動回転を有効にします。私たちのアプリのカメラ中心の性質のため、これは不可能です。 [〜#〜] vvs [〜#〜] はエクスペリエンスを破壊します。
  3. システム全体の自動回転の無効化を無視し、必要に応じてリスト画面を横向きと縦向きの両方に回転させるカスタムコードを記述します。プロ:長いリストのナビゲーションはまだ簡単です。短所:回転を無効にするユーザーの明示的な意図に反します(たとえば、横になって電話を使用している場合など、自動回転が失敗する場合を考えてください)。
  4. システム全体で自動回転が無効になっているデバイスに対して、すべての場所でランドスケープモードを強制するカスタムコードを記述しますonly。長所:自動ローテーションは要求された場合は無効になり、他のすべての電話ではロングリストナビゲーションが簡単です。欠点:自動回転が無効になっていると、通常は縦長モードに固定されます。
1
PhilLab

いくつかの異なるオプションが思い浮かびました:

1。より良い方法があることを知らせます。

この状況のユーザーに、「の線に沿って、一度だけ却下可能なヒントを提供することができます。これを横向きに表示するには、Settings > Screen & Brightness...

2。場合によっては、すでにそれらの設定を無視しているため、一貫している必要があります。

ユースケースでは、方向ロックの設定をすでに無視する必要があるため、その設定を完全に無視して、アプリの設定内で設定を選択させることができます。 「[x] Enable viewing of long* pages in portrait mode」のようなもの

2a。サポートされているページで縦向きと横向きを切り替えるためのUIトグルを提供します。

#2に似ていますが、ユーザーが設定に移動することなく、オンザフライで方向を切り替えることができます。ただし、この設定を頻繁に切り替える必要はないようですので、設定メニューで邪魔にならないようにする方が適切かもしれません。


*おそらくコンテンツやコンテキストに基づいてこれらの適格なページをユーザーに区別するためのより良い方法があるかもしれません...おそらく、それらは常に「detail」ページであるか、 「続きを読む」画面..?

1
maxathousand