Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 狀態欄隱藏問題

Android 狀態欄隱藏問題

編輯:關於Android編程

對於動態顯示和隱藏狀態欄,寫Demo中可能很容易就實現了,但是在項目中就不一定了,因為牽扯的方面可能太多了,下面說說我踩的那些坑:

1,必須保證當前ac繼承的ac沒有問題,有人說不要使用AppCompatAc,但我試了下是沒有問題的,還有就是你要保證你繼承的ac裡面沒有做一個全屏什麼的判斷,具體自己看吧(lz就是在這裡被坑的........)

2,在Android 4.1 之後,View有方法setSystemUiVisiability(params)可以設置狀態欄的顯示隱藏,但是使用這個方法有一個bug就是當你手動把狀態欄觸摸下來後,它是會一直顯示的咯,就是你的隱藏失效了.至於params請自行百度哈,很多博客都有詳細描敘,具體代碼如下:

 

public void onClick(View view) {
        switch (view.getId()) {
            case  R.id.bt1:
                bt1.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
                break;
            case  R.id.bt2:
                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
                break;
        }
    }

 

3,設置窗口來隱藏狀態欄,使用這個的好處就是當你手動觸摸屏幕把狀態欄顯示出來後,大約兩秒狀態欄還是會自動隱藏起來,完美解決上面那方法的不足之處,具體代碼如下:

 

//隱藏狀態欄
                activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                       WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 顯示狀態欄
                activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

 

 

我在項目中的應用是視頻播放全屏的時候隱藏狀態欄,普通情況下顯示狀態欄,在視頻播放切換全屏的方法中做當前ac方向判斷,如果切換橫屏就隱藏狀態欄,切換豎屏就顯示狀態欄,完美解決!以上就是我總結的一點心得,希望對你有所幫助

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved