Как скрыть строку состояния в Android - PullRequest
90 голосов
/ 25 марта 2011

Я ссылался на эту ссылку .В этом случае, если пользователь нажимает на EditText (для ex To:), в это время клавиатура будет выдвинута, и в то же время пользователь сможет прокручивать, чтобы увидеть все оставшиеся представления (например: compose, subject, button send) вэтот экран.Точно так же в моем приложении у меня есть одно действие, в котором у меня есть некоторые виджеты или представления.Предположим, если пользователь нажимает на Edittext, который находится в моей деятельности, то клавиатура выдается, и я могу прокрутить, чтобы увидеть оставшиеся представления.Но если я даю этот атрибут android:theme="@android:style/Theme.NoTitleBar.Fullscreen" в манифесте, я не смог прокрутить, чтобы увидеть остальные виды, но если дать атрибут android:theme="@android:style/Theme.NoTitleBar", как этот, в манифесте, я смогу прокрутить, чтобы увидеть оставшийся вид, но на этом экране есть строка состоянияздесь я хочу полный экран, и даже если клавиатура выскочила, я могу прокрутить, чтобы увидеть оставшиеся виды ..?какие изменения я должен сделать для этого ..?

Ответы [ 21 ]

3 голосов
/ 20 июля 2018

Вы можете скрыть, используя 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"

2 голосов
/ 19 апреля 2018

В 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
1 голос
/ 14 января 2019

Используйте этот код для скрытия строки состояния в вашем приложении и просты в использовании

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
1 голос
/ 20 января 2017

Это официальная документация о сокрытии строки состояния на Android 4.0 и ниже и на Android 4.1 и выше

Пожалуйста, посмотрите на это:

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

0 голосов
/ 05 февраля 2019
requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
0 голосов
/ 07 января 2019

Вы можете скрыть строку состояния, установив ее цвет на transperant, используя xml . Добавьте statusBarColor элемент в тему своей деятельности:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>
0 голосов
/ 20 марта 2018

Под res -> values ​​-> styles.xml

Внутри style вставка тега body

<item name="android:windowTranslucentStatus" tools:targetApi="kitkat">true</item>
0 голосов
/ 10 января 2018

Используется в Manifest

android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen"
0 голосов
/ 08 ноября 2017
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 голосов
/ 08 октября 2017

Это решение работает для меня:)

@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);
...