1. 程式人生 > >如何隱藏Android4.0及以上版本的ActionBar、NotificationBar、StatusBar、SystemBar、TitleBar

如何隱藏Android4.0及以上版本的ActionBar、NotificationBar、StatusBar、SystemBar、TitleBar

1.ActionBar:

<activityandroid:name="Demo"android:label="@string/app_name"android:theme="@android:style/Theme.NoTitleBar.Fullscreen"><intent-filter><actionandroid:name="android.intent.action.MAIN"/><categoryandroid:name="android.intent.category.LAUNCHER"/></intent-filter></activity>



2.TitleBar 隱藏: requestWindowFeature(Window.FEATURE_NO_TITLE); 或者 android:theme="@android:style/Theme.Black.NoTitleBar 顯示:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

3.NotificationBar、StatusBar、SystemBar

Dim的話可以:

getWindow().getDecorView().setSystemUiVisibility
  (View.SYSTEM_UI_FLAG_LOW_PROFILE
);

隱藏的話可以(不好使,哈哈):

getWindow().getDecorView().setSystemUiVisibility
  (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

那怎麼玩呢?用狠招吧,哈哈:

命令列方式:

直接用程序號殺,不加service那個shell的話,一會SystemBar會自啟動。

# kill com.android.systemui

# service call activity 79 s16 com.android.systemui

如果想啟動SystemBar:

# am startservice -n com.android.systemui/.SystemUIService

程式碼方式:

要root啊,

Process proc = Runtime.getRuntime().exec(new String[]{"su","-c","service call activity 79 s16 com.android.systemui"});
proc.waitFor();

Process proc = Runtime.getRuntime().exec(new String[]{"am","startservice","-n","com.android.systemui/.SystemUIService"});
proc.waitFor();

轉載自:http://blog.csdn.net/forlong401/article/details/7543928