web-dev-qa-db-ja.com

Androidでステータスバーを非表示にする方法

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

91
user448250

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

@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

アプリはフルスクリーンになります。ステータスバーもタイトルバーもありません。 :)

154
Fugogugo
 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();
 }
19
Bobby

テーマ"Theme.NoTitleBar.Fullscreen"を使用し、"Android:windowSoftInputMode=adjustResize"のアクティビティにAndroidManifest.xml.を設定してみてください。詳細は こちら で確認できます。

18
Karan

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

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

setContentView(R.layout.your_screen);
12
Cabezas

これをアクティビティクラスに追加します

@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);
    setContentView(R.layout.activity_main);
    // some your code
}

これをActivityに使用します。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
8
Vishal Patolia
void hideStatusBar() {
        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);
        }
    }

このメソッドを使用して、ステータスバーを非表示にできます。これは、アクションバーを非表示にするためにも重要です。この場合、getSupportActionBar()。hide() Appcompatなどのサポートライブラリからアクティビティを拡張した場合、または単にgetActionBar()。hide()を呼び出すことができます。上記の方法の後。ありがとう

6

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

Android:theme="@Android:style/Theme.Translucent.NoTitleBar"
6
Yogendra

このコードを使用:

requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.youractivityxmlname);

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

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

アクションバーを非表示にするには、次の行を記述します。

requestWindowFeature(Window.FEATURE_NO_TITLE);

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

4
Harish Gyanani

Styles.xmlを使用して非表示にできます

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
<style name="HiddenTitleTheme" parent="AppTheme">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
</style>

マニフェストでこのAndroid:theme="@style/HiddenTitleTheme"のように呼び出すだけです

3
Mudasar

AndroidManifest.xml->使用するアクティビティ内で、次を追加します。

Android:theme="@style/Theme.AppCompat.Light.NoActionBar"
//this is for hiding action bar

mainActivity.Java-> onCreate()メソッド内で、次を追加します。

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//this is for hiding status bar
2

このコードを使用して、アプリのステータスバーを非表示にし、使いやすくします

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
2
Prabh deep

これは、Android 4.0以前およびAndroid 4.1以降でのステータスバーの非表示に関する公式ドキュメントです。

ご覧ください:

https://developer.Android.com/training/system-ui/status.html

Res->値-> styles.xmlの下

style bodyタグペースト内

<item name="Android:windowTranslucentStatus" tools:targetApi="KitKat">true</item>
0
user8231406

このソリューションは私のために働く:)

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (Build.VERSION.SDK_INT >= 19) {
           getWindow().setFlags(AccessibilityNodeInfoCompat.ACTION_NEXT_HTML_ELEMENT, AccessibilityNodeInfoCompat.ACTION_NEXT_HTML_ELEMENT);
           getWindow().getDecorView().setSystemUiVisibility(3328);
    }else{
           requestWindowFeature(Window.FEATURE_NO_TITLE);
           this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }

    DataBindingUtil.setContentView(this, R.layout.activity_hse_video_details);
0
Dhaval Jivani
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // If the Android version is lower than Jellybean, use this call to hide
    // the status bar.
    if (Build.VERSION.SDK_INT < 16) {
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
    } else {
       View decorView = getWindow().getDecorView();
       // Hide the status bar.
       int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
       decorView.setSystemUiVisibility(uiOptions);
       // Remember that you should never show the action bar if the
       // status bar is hidden, so hide that too if necessary.
       ActionBar actionBar = getActionBar();
       actionBar.hide();
    }

    setContentView(R.layout.activity_main);

}
...
}
0

xmlを使用して色を透明に設定すると、ステータスバーを非表示にできます。 statusBarColorアイテムをアクティビティテーマに追加します。

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="Android:statusBarColor">@Android:color/transparent</item>
</style>
0
Oleh Liskovych

(4.4+)KitKat以上のデバイスでは、ステータスがフルスクリーンモードで表示されるのを防ぐことはできないため、ステータスバーの拡張をブロックするためにハックを試みてください。

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

StackOverflow:Android 4.4+またはKitKat with Fullscreenでステータスバーを非表示

0
Jyo the Whiff

Manifestで使用

Android:theme="@Android:style/Theme.Holo.NoActionBar.Fullscreen"
0
Atif Amin
requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
0
user11018151