1

私は初心者の Android 開発者であり、直面している問題の 1 つは、アプリケーションを全画面表示にする方法です。私は以下を使用しました:

"android:theme=”@android:style/Theme.NoTitleBar.Fullscreen"

ただし、実際にはステータス バーとアクション バーが削除されるだけで、ナビゲーション バーは保持されます。さまざまな方法を試してみましたが成功しませんでしたが、Subway Surfers のようにナビゲーション バーが表示されないアプリがたくさんあるので、可能であることはわかっています。

正しい作り方はどれ?

4

4 に答える 4

1

次のコードをアクティビティに追加します。

public class YourActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(
            WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.your_layout);
        ...
    }
}

PS:

onResume()メソッドに以下を追加します。

int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
              | View.SYSTEM_UI_FLAG_FULLSCREEN;

View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(uiOptions);

すべての場合にナビゲーション バーを削除できるわけではないことに注意してください (ドキュメントを参照してください:「タブレットではシステム バーが非表示になりません」)。4.4 以降では、Immersive Modeを有効にすることができます。Android 3.0 デバイスに関連するこの投稿を確認してください(「Android 3.0ではシステム バーを非表示にすることはできません。」)。

于 2014-09-20T19:58:33.167 に答える
0

マニフェストにこの行を追加しますが、既に存在するアクティビティ タグの間に追加します。

ここに行があります: android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

これは機能するはずです。そうしない理由はありません。最近これを使用したので、それは確かです。

于 2014-09-21T10:32:39.210 に答える
0

SurfaceView を作成することもできますが、それが役立つかどうかは、何をしたいかによって異なります。ゲームを作りたい場合はおそらく便利ですが、ボタンやラベルなどを使用したい場合があるため、他の回答で説明されているように非表示にするか、使用することができます(オプションメニューが提供されるため) )。

結局は自分がどうしたいか

于 2014-09-21T10:26:02.140 に答える
0
// Erase the title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
// Make it full Screen
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

requestWindowFeature(int windowConstVal) は Activity で呼び出すメソッドであり、ウィンドウにさまざまな追加機能を適用する Window クラスの定数を常に使用します。

getWindow().addFlags() 現在のアクティビティからウィンドウ参照を取得し、windowManager クラスの定数を使用してフラグを追加します (その他の機能)。

于 2014-09-20T19:59:33.837 に答える