Android中状态栏的隐藏
Android中狀態(tài)欄的隱藏
系統(tǒng)中狀態(tài)欄的隱藏
定制系統(tǒng)的時(shí)候,想去掉系統(tǒng)中的狀態(tài)欄,系統(tǒng)中的狀態(tài)欄隱藏的可在framework中的SystemUI.apk中修改實(shí)現(xiàn)。
SystemUI.apk代碼位于
RK2908/ics/frameworks/base/packages/SystemUI
設(shè)置狀態(tài)欄不顯示:
打開文件SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
找到如下代碼
460???????? final TabletStatusBarView sb = (TabletStatusBarView)View.inflate(
?461???????????????? context, R.layout.status_bar, null);
?462???????? mStatusBarView = sb;
在代碼之后加入如下一行
mStatusBarView.setVisibility(View.INVISIBLE);
重新編譯得到SystemUI.apk
xiaxg@system:~/RK2908/ics/build$ source? envsetup.sh
xiaxg@system:~/RK2908/ics/frameworks/base/packages/SystemUI$? mm
得到的SystemUI.apk?? 位于out/target/product/rk29sdk/system/app/SystemUI.apk
將SystemUI.apk放在目標(biāo)板 /system/app下;
如不重啟系統(tǒng)的話,需殺掉com.android.systemui進(jìn)程才會(huì)運(yùn)行新的SystemUI.apk
Apk中狀態(tài)欄的隱藏,全屏的實(shí)現(xiàn)
在開發(fā)中我們經(jīng)常需要把我們的應(yīng)用設(shè)置為全屏,這里介紹兩種方法,一中是在代碼中設(shè)置,另一種方法是在配置文件里改。
1. 在代碼中設(shè)置:
package com.android.tutor; ?
import android.app.Activity; ?
import android.os.Bundle; ?
import android.view.Window; ?
import android.view.WindowManager; ?
public class OpenGl_Lesson1 extends Activity { ?
??? public void onCreate(Bundle savedInstanceState) { ?
??????? super.onCreate(savedInstanceState); ?
?????? //去除title?? ?
?????? requestWindowFeature(Window.FEATURE_NO_TITLE);?? ?
??????? //去掉Activity上面的狀態(tài)欄
?????? getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,???? ?
????????????????????? WindowManager.LayoutParams. FLAG_FULLSCREEN);? ?
????????? ?
??????? setContentView(R.layout.main); ?
??? } ?
} ?
設(shè)置全屏的倆段代碼必須在setContentView(R.layout.main) 之前,不然會(huì)報(bào)錯(cuò)。
2. 在配置文件里修改
關(guān)鍵此行:android:theme="@android:style/Theme.NoTitleBar.Fullscreen",如果想只是去除標(biāo)題欄就后面不用加Fullscreen了,另外,如果想要整個(gè)應(yīng)用都去除標(biāo)題欄和狀態(tài)欄,就把這句代碼加到<application。。標(biāo)簽里面,如果只是想某個(gè)activity起作用,這句代碼就加到相應(yīng)的activity上。
<?xml version="1.0" encoding="utf-8"?> ?
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ?
????? package="com.android.tutor" ?
????? android:versionCode="1" ?
????? android:versionName="1.0"> ?
??? <application android:icon="@drawable/icon" android:label="@string/app_name"> ?
??????? <activity android:name=".OpenGl_Lesson1" ?
????????????????? android:theme="@android:style/Theme.NoTitleBar.Fullscreen" ?
????????????????? android:label="@string/app_name"> ?
??????????? <intent-filter> ?
??????????????? <action android:name="android.intent.action.MAIN" /> ?
??????????????? <category android:name="android.intent.category.LAUNCHER" /> ?
??????????? </intent-filter> ?
??????? </activity> ?
??? </application> ?
??? <uses-sdk android:minSdkVersion="7" /> ?
</manifest>? ?
說明,用前者在我們應(yīng)用運(yùn)行后,會(huì)看到短暫的狀態(tài)欄,然后才全屏,而第二種方法是不會(huì)有這種情況的,所以建議使用后者!
Android4.0隱藏狀態(tài)欄:
hide statusbar
grep "status_bar_height" * -nR
將下面文件中關(guān)于status_bar_height定義的改為0dip.
android4.0/frameworks/base/core/res/res/values-large/dimens.xml
android4.0/frameworks/base/core/res/res/values-sw480dp/dimens.xml
android4.0/frameworks/base/core/res/res/values-sw600dp/dimens.xml
android4.0/frameworks/base/core/res/res/values/dimens.xml
android4.0/packages/apps/Launcher2/res/values-sw480dp/dimens.xml
android4.0/packages/apps/Launcher2/res/values-sw600dp/dimens.xml
android4.0/packages/apps/Launcher2/res/values/dimens.xml
?
總結(jié)
以上是生活随笔為你收集整理的Android中状态栏的隐藏的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RK2908开机时间分析及优化
- 下一篇: android sina oauth2.