最新のサムスンのスマートフォンには、フルスクリーン(またはマーケティング用語では無限表示)と呼ばれる興味深い機能があります。このモードでは、アプリはホーム/戻るボタンがあるディスプレイの一部もカバーします。通常のアプリはこの領域をカバーせず、黒のままにします。しかし、サムスンのネイティブのものはこの領域をカバーしています。
質問:この効果を達成する方法は?どのようなマニフェスト宣言またはプログラム呼び出し(おそらくSamsungのレガシーAPI)を使用する必要がありますか?
新しいSamsung Galaxy S8を有効にしてLG G6フルスクリーンサポートを追加するには、AndroidManifest.xmlの<application>
要素:
<meta-data Android:name="Android.max_aspect" Android:value="2.1" />
2.1の値はアスペクト比18.5:9です(デフォルトでは、アプリはデフォルトで16:9-1.86の最大比になります)。詳細: Androidブログ 。
または、アプリケーションまたはアクティビティに次の属性を設定できます。
Android:resizeableActivity="true"
ドキュメンテーションには( link )と記載されているため:
アクティビティのAndroid:resizeableActivity属性がtrueに設定されている場合、最大アスペクト比を設定する必要はありません。アプリがAPIレベル24以上をターゲットにしている場合、この属性のデフォルトはtrueです。
フルスクリーンを取得するには、onWindowFocusChangedメソッドをオーバーライドし、decorViewオブジェクトを作成し、それにSystem_UIフラグを追加する必要があります。
@Override
public void onWindowFocusChanged(boolean hasFocus){
super.onWindowFocusChanged(hasFocus);
View decorView = getWindow().getDecorView();
if(hasFocus){
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY // this flag do=Semi-transparent bars temporarily appear and then hide again
|View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN // Make Content Appear Behind the status Bar
|View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION // it Make Content Appear Behind the Navigation Bar
|View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
|View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
}
}