全画面表示への適応については、Huawei 社のドキュメントを参照してください。

Huawei フルスクリーン適応テクニカルガイド

1. フルスクリーンの紹介

1.1 フルスクリーンの定義

通常の画面: 1080x1920、1440x2560 などのアスペクト比 16:9 の比率は 1.78、フルスクリーン携帯電話の登場以前、Android のデフォルトの最大アスペクト比 (最大アスペクト比) は 1.86 です。 、16:9 画面と互換性があります。

フルスクリーン: 17:9、18:9、19:9、19.5:9 など、画面比が 1.86 を超える画面はすべてフルスクリーンです。

1.2 フルスクリーンモデル

モデル 画面のアスペクト比 比率_浮動小数点
Mate10プロ 18:9 2.0
LG G6    18:9 2.0
サムスンギャラクシーS8 18.5:9 2.06
必須の電話 19:10 1.9
ミミックス    17:9 1.89
iPhone X 19.5:9 2.17

2. 全画面表示の問題

フルスクリーン適用時の表示間隔は通常、下図の緑色の間隔になります。

1. ナビゲーションバーが表示されている場合は、画面全体の間隔からナビゲーションバーの間隔を引いた間隔となり、ナビゲーションバーが非表示の場合は、画面全体の間隔となります。Google の要件によれば、アプリケーションがそれに応じて適応されていない場合、アスペクト比は 1.3333 ~ 1.86 でなければなりません。

キャプション

ナビゲーション バーを全画面で表示する                          全画面でナビゲーション バーを削除する    

2. Huawei Mate10Pro や Samsung S8 など、デバイスの画面が十分に大きい場合でも、ナビゲーション バーを除くアプリケーションの表示サイズのアスペクト比は 1.86 より大きく、Google CDD の要件を満たすために、アプリケーションは以前の全画面で表示できず、黒い境界線が表示されます。

キャプション

3. アプリケーションの非全画面表示効果と全画面表示効果の比較:

1.png            2.png

アプリケーション非全画面表示                                                   アプリケーション全画面表示

3. 適応スキーム

現在、国内の TOP1000 サードパーティ アプリケーションの 35% が Google のアドバイスに従い、フルスクリーン対応を完了しています。これらのアプリケーションの中には、さまざまな比率に適応できるものや、画面比率が 18.9:9 以下の携帯電話で全画面表示できるものもあります。

しかし、iPhoneX(画面比19.5:9)の発売により、Androidプラットフォームにも同様の比率の画面が搭載され、将来的にはウルトラワイド画面(画面比21:9)も登場する予定です。アプリケーションを大きな比率の画面で表示すると問題が発生する可能性があります。したがって、アプリケーションでは、一度適用すれば繰り返しの変更を避けることができる、より柔軟なソリューションを採用することをお勧めします。

3.1 オプションの適応スキームの概要

解決策 1:
AndroidManifest.xml ファイルに属性を追加します: <meta-data android:name="android.max_aspect" android:value="2.4" /> アプリケーションの適応化には
メタデータを使用することをお勧めします。詳細については、参照: https://developer.android.com/guide/practices/screens-distribution.html#MaxAspectRatio

解決策 2:
android:resizeableActivity="true" を追加する
この設定はアクティビティにのみ有効であり、この属性が追加された場合、アクティビティは分割画面表示もサポートします。

解決策 3:
AndroidManifest.xml ファイルを変更し、targetSdkVersion>=26 に設定します。つまり、アプリケーションはバージョン O にアップグレードされ、他の属性を設定する必要はありません。デフォルトで、どのアスペクト比の画面でも全画面で表示できます。 。(備考: 注意が必要な例外があります。アプリケーションが O バージョンに適応されており、ページでサポートされる最大アスペクト比がメタデータ属性 android.max_aspect または android:MaxAspectRatio 属性を通じて設定されている場合) 、 android:resizeableActivity= "false" は、ページが分割画面をサポートしていないことを設定します。このとき、システムは、アプリケーション自体で設定された最大アスペクト比に従って、ページを全画面で表示できるかどうかを判断します。アプリケーションが設定した最大アスペクト比が携帯電話の画面比より小さい場合でも、アプリケーションを全画面表示することはできません。)

3.2 ファーウェイが提案するソリューション

ファーウェイは、推奨ソリューション 3 を推奨します。これは、アプリケーションの API レベルをバージョン O (targetSdkVersion>=26) にアップグレードし、アプリケーションをさまざまな画面比率で適応的に全画面表示できるようにすることです。ただし、このソリューションにはインターフェイス設計に対する比較的高い要件もあり、インターフェイスをさまざまな比率 (16:9、18:9、18.9:9、19.5:9、21:9) に引き伸ばしたときに正常に表示できることを確認する必要があります。 )。同時に API レベルがバージョン O にアップグレードされ、アプリケーションが依存する一部の API 機能がアップグレードされ、互換処理が必要になります。

方式 3 を採用するコストが高すぎる場合は、方式 1 を採用し、サポートされる最大アスペクト比を 2.4 に設定することをお勧めします。このようにして、ウルトラワイドスクリーン製品と互換性があり、一度に適応させることができます。

4. UIの適応

上記の適応スキームで説明した構成を追加すると、全画面携帯電話でアプリケーションをデフォルトで全画面で表示できますが、UI の異常を回避するために、アプリケーションはさらに追加の UI 適応作業を行う必要があります。

1. WeChat、Netease News などのリスト形式のアプリケーションの場合、追加のコンテンツが表示されるだけであり、基本的には効果がありません。

2. フルスクリーン アプリケーションの場合、複数の画面を確実に適応させるために、アプリケーションは Google の適応提案に従う必要があります。修正と適応については、 Google の公式Web サイトページのベスト プラクティスの章を参照してください。

3. 画像全体を背景として使用する場合、画像の塗り方に注意しないと画面全体を塗りつぶせない場合があります。たとえば、ImageView を背景として使用する場合は、そのscaleType を CENTER_CROP に設定することをお勧めします。これは、画像の長さ (幅) が等しくなるように、画像のサイズを拡大して中央に表示することを意味します。ビューの長さ (幅) 以上です。

5. 検証方法

5.1. リモートデバッグ

5.1.1 新規ユーザー登録

新規ユーザーがHuawei Terminal Open Labのクラウドテスト機能に申し込む必要がある場合は、Android Green Allianceに参加し、メンバーになる必要があります。次に、次の手順に従って申請します。

1. DevEco プラットフォームにログインします。

2. 会社のサフィックスが付いた電子メール アドレスを使用してアカウントを登録します。

3. 新しく申請したアカウント番号、会社名、個人名と電話番号、担当アプリケーションの名前を [email protected] に送信して、Android Green Alliance のメンバーになることを申請します。審査に合格すると、それを使用する許可を与えられました。

5.1.2 リモートデバッグ

1. 登録したアカウントでログインします。

2. 全画面携帯電話を選択します: nova 3e 画面アスペクト比: 2.11。

3.png

3. [今すぐ体験] をクリックして、デバッグ用の APK をアップロードします。

4.png

5.2 シミュレーション検証

対応する比率画面を備えた実際の携帯電話をお持ちでない場合は、他の非全画面携帯電話または全画面携帯電話をシミュレーション検証に使用できます。adb 経由で携帯電話に接続し、次のコマンドを実行して設定します。適応効果を確認するために画面の表示比率を 19.5:9 に設定します:
adb Shell wm size 360​​dpx780dp

5.png

表示を復元するには、次のコマンドを実行します:
adb shell wm size restart

6.png

おすすめ

転載: blog.csdn.net/qq_19822039/article/details/83537597