我司需要修改一個功能:通過發廣播實作動態隱藏/顯示狀態欄和導航欄的功能。現在發現在setting界面隱藏狀態欄時候頂部有一塊黑色的不能隱藏,我使用eclipse查看布局發現是 android:id/statusBarBackground 這id,包名是com.android.settings,類名是android.view.View,這個在Settings和SystemUI類里面都沒有找到,請問該如何修改?現在發現在鬧鐘界面也有這個問題,應該不是在Setting或者SystemUI修改,請問有何解決辦法?

static final String TAG_SHOW="1";
static final String TAG_HIDE="0";
private static final String INTENT_BAR_ACTION_SHOW="bcd.intent.action.BAR_SHOW";
private static final String INTENT_BAR_ACTION_HIDE="bcd.intent.action.BAR_HIDE";
。。。
private void removeNavigationBar() {
if (DEBUG)
Log.i("wangp", "=========removeNavigationBar===== " + mNavigationBarView);
if (mNavigationBarView == null)
return;
if (mNavigationBarView != null){
mWindowManager.removeViewImmediate(mNavigationBarView);
mNavigationBarView = null;
}
}
private BroadcastReceiver mShowOrHideStatusBarReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
if (DEBUG)
Log.v(TAG, "onReceive: " + intent);
String action = intent.getAction();
if (INTENT_BAR_ACTION_SHOW.equals(action)) {
// flagShow=true;
Settings.System.putInt(mContext.getContentResolver(),
"show_statusbar", 1);
//show
mStatusBarWindow.setVisibility(View.VISIBLE);
mStatusBarView.setVisibility(View.VISIBLE);
inflateNavigationBarView(context);
addNavigationBar();
} else if (INTENT_BAR_ACTION_HIDE.equals(action)) {
// flagShow=false;
Settings.System.putInt(mContext.getContentResolver(),
"show_statusbar", 0);
//hide
mStatusBarWindow.setVisibility(View.GONE);
mStatusBarView.setVisibility(View.GONE);
removeNavigationBar();
}
}
};
。。。
uj5u.com熱心網友回復:
在Android5.0以上就不需要代碼亂搞了,下面自己選吧全屏,狀態欄和導航欄半透明(api>19)
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
全屏,狀態欄和導航欄全透明(api>21)
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@color/w_c_0000</item>
<item name="android:navigationBarColor">@color/w_c_0000</item>
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
uj5u.com熱心網友回復:
寫在theme里面的
uj5u.com熱心網友回復:
哥們謝了,不過我是需要做動態的隱藏/顯示,你這方法我試了沒效果
uj5u.com熱心網友回復:
每個屬性都有對應的代碼設定的,你確定沒效果,我以前測驗通過的uj5u.com熱心網友回復:
每個屬性都有對應的代碼設定的,你確定沒效果,我以前測驗通過的
我用自己的5.1手機是有效果的,但是公司的7.1系統上面試驗了沒有反應,請問能留個聯系方式嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/105504.html
標籤:Android
