121

このリンクを参照しました。ユーザーが EditText (ex To: の場合) をクリックすると、その時点でキーボードがポップアウトされ、同時にユーザーはスクロールして残りのすべてのビュー (例: 作成、件名、送信ボタン) を表示できます。その画面。同様に、私のアプリには、いくつかのウィジェットまたはビューがあるという 1 つのアクティビティがあります。ユーザーがアクティビティにある Edittext をクリックすると、キーボードが飛び出し、スクロールして残りのビューを表示できるとします。android:theme="@android:style/Theme.NoTitleBar.Fullscreen"しかし、マニフェストでこの属性を指定すると、スクロールして残りのビューを表示できませんでしたが、属性を指定するとandroid:theme="@android:style/Theme.NoTitleBar"マニフェストのこのように、スクロールして残りのビューを表示できますが、その画面にステータスバーがあります。ここではフルスクリーンが必要で、キーボードが飛び出していてもスクロールして残りのビューを表示できます..? これにはどのような変更を加える必要がありますか..?

4

34 に答える 34

189

これをあなたのアクティビティに書いてください

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

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

ここでドキュメントを確認してください: https://developer.android.com/training/system-ui/status.html

アプリが全画面表示になります。ステータスバーもタイトルバーもありません。:)

于 2011-03-25T18:11:25.583 に答える
21

テーマを使用してアクティビティの"Theme.NoTitleBar.Fullscreen"設定を試してください 詳細はこちら."android:windowSoftInputMode=adjustResize"AndroidManifest.xml.

于 2011-03-25T11:14:56.343 に答える
19
 if (Build.VERSION.SDK_INT < 16) {
   getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
 } else {
     View decorView = getWindow().getDecorView();
      int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
      decorView.setSystemUiVisibility(uiOptions);
      ActionBar actionBar = getActionBar();
      actionBar.hide();
 }
于 2014-05-10T00:23:51.390 に答える
14

1 つのアクティビティでこれが必要な場合は、setContentView の前に onCreate を配置する必要があります。

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

setContentView(R.layout.your_screen);
于 2016-02-12T09:40:58.250 に答える
6

ファイル内のアプリケーションのテーマを変更しmanifest.xmlます。

android:theme="@android:style/Theme.Translucent.NoTitleBar"
于 2014-07-12T06:31:46.030 に答える
5

次のコードを使用します。

requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.youractivityxmlname);
于 2016-05-06T06:50:13.487 に答える
4

このコードは、ステータス バーを非表示にします。

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

アクションバーを非表示にするには、次の行を書きます:-

requestWindowFeature(Window.FEATURE_NO_TITLE);

両方の行をまとめて記述して、アクション バーとステータス バーを非表示にすることができます。これらの行はすべて、メソッドsetContentView内でメソッドを呼び出す前に記述する必要がありますonCreate

于 2016-11-11T11:47:29.840 に答える
2
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setTheme(R.style.Theme_AppCompat_Light_NoActionBar);
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN
    , WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.activity__splash_screen);
}
于 2019-11-10T21:48:30.940 に答える
0

(4.4+) kitkat 以上のデバイスで全画面表示モードでステータスが表示されるのを防ぐことはできないため、ハックしてステータス バーが拡大しないようにしてください。

ソリューションはかなり大きいので、SOのリンクは次のとおりです。

StackOverflow : Android 4.4+ または全画面表示の kitkat でステータスバーを非表示にします

于 2016-06-14T10:24:36.323 に答える
0

Composeを使用している場合は、インポートできます

implementation "com.google.accompanist:accompanist-systemuicontroller:0.17.0"

次に、画面に書くだけです

val systemUiController = rememberSystemUiController()
systemUiController.isStatusBarVisible = false
于 2021-10-18T03:46:43.833 に答える
0

Style.xml ファイルの追加または置換

<item name="android:statusBarColor">@android:color/transparent</item>
于 2021-06-17T05:02:54.073 に答える
0

で使われるManifest

android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen"
于 2018-01-10T20:08:27.113 に答える
0

私は答えるのが非常に遅いことを知っています。この目的のために、相対Javaファイルで次のコードを使用します

Objects.requireNonNull(getSupportActionBar()).hide();
于 2021-08-29T20:04:10.137 に答える
0

システム UI を表示および非表示にするクリーンでスケーラブルなアプローチは、さまざまな Android API レベルで機能します。

object SystemBarsCompat {
    private val api: Api =
        when {
            Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> Api31()
            Build.VERSION.SDK_INT == Build.VERSION_CODES.R -> Api30()
            else -> Api()
        }

    fun hideSystemBars(window: Window, view: View, isImmersiveStickyMode: Boolean = false) =
        api.hideSystemBars(window, view, isImmersiveStickyMode)

    fun showSystemBars(window: Window, view: View) = api.showSystemBars(window, view)

    fun areSystemBarsHidden(view: View): Boolean = api.areSystemBarsHidden(view)

    @Suppress("DEPRECATION")
    private open class Api {
        open fun hideSystemBars(window: Window, view: View, isImmersiveStickyMode: Boolean = false) {
            val flags = View.SYSTEM_UI_FLAG_FULLSCREEN or
                View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or
                View.SYSTEM_UI_FLAG_HIDE_NAVIGATION

            view.systemUiVisibility = if (isImmersiveStickyMode) {
                flags or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
            } else {
                flags or
                    View.SYSTEM_UI_FLAG_IMMERSIVE or
                    View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            }
        }

        open fun showSystemBars(window: Window, view: View) {
            view.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        }

        open fun areSystemBarsHidden(view: View) = view.systemUiVisibility and View.SYSTEM_UI_FLAG_HIDE_NAVIGATION != 0
    }

    @Suppress("DEPRECATION")
    @RequiresApi(Build.VERSION_CODES.R)
    private open class Api30 : Api() {

        open val defaultSystemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE

        override fun hideSystemBars(window: Window, view: View, isImmersiveStickyMode: Boolean) {
            window.setDecorFitsSystemWindows(false)
            view.windowInsetsController?.let {
                it.systemBarsBehavior =
                    if (isImmersiveStickyMode) WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
                    else defaultSystemBarsBehavior
                it.hide(WindowInsets.Type.systemBars())
            }
        }

        override fun showSystemBars(window: Window, view: View) {
            window.setDecorFitsSystemWindows(false)
            view.windowInsetsController?.show(WindowInsets.Type.systemBars())
        }

        override fun areSystemBarsHidden(view: View) = !view.rootWindowInsets.isVisible(WindowInsets.Type.navigationBars())
    }

    @RequiresApi(Build.VERSION_CODES.S)
    private class Api31 : Api30() {
        override val defaultSystemBarsBehavior = WindowInsetsController.BEHAVIOR_DEFAULT
    }
}

たとえば、システム バーを非表示にするには、次のように呼び出すことができますFragment

SystemBarsCompat.hideSystemBars(requireActivity().window, view)
于 2022-02-05T13:58:42.640 に答える
-1
requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
于 2019-02-05T14:32:13.483 に答える
-1

res -> values ->styles.xml の下

スタイル本体タグ内貼り付け

<item name="android:windowTranslucentStatus" tools:targetApi="kitkat">true</item>
于 2018-03-20T08:39:12.973 に答える