Android 2.3
1. 请添加半透明的图片资源,例如:statusbar_background.9.png,到路径
frameworks\base\packages\SystemUI\res\drawable-hdpi 下。
2. 请修改status_bar.xml,将其中的android:background="@drawable/status_bar_background 修改为
android:background="@drawable/statusbar_background。
3. 请修改StatusBarService.java的addStatusBarView()方法,将PixelFormat.RGBX_8888修改为

PixelFormat.TRANSLUCENT。

还要在framework/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarService.java中对日期显示进行屏蔽。

        makeStatusBarView函数里

        mDateView.setVisibility(View.INVISIBLE);

4. 请在StatusBarService.java的makeStatusBarView(Context context)方法中注册一个 


 BroadcastReceiver接收自定义的intent,监控是否在Launcher界面。


5. 请在Launche.java添加onWindowFocusChanged (boolean hasWindowFocus)方法,如果此方法已有,请跳过


此步骤。


6. 请修改Launcher.java的onWindowFocusChanged (boolean hasWindowFocus)方法:如果hasWindowFocus为


true且!mAllAppsGrid.isVisible()为true,发送设置状态栏背景为透明的intent,StatusBarService的BroadcastReceiver接


收到这个intent,调用mStatusBarView.reloadBackgroundResource(R.drawable.xxxx)将背景设置为半透明背景;否则


,发送设置状态栏背景为黑色的intent,StatusBarService的BroadcastReceiver接收到这个intent,调用


mStatusBarView.reloadBackgroundResource(R.drawable.xxxx)将背景设置为黑色背景。


7. 请在Launcher.java的showAllApps(boolean animated) 方法中发送设置状态栏背景为黑色的intent,


StatusBarService的BroadcastReceiver接收到这个intent,调用


mStatusBarView.reloadBackgroundResource(R.drawable.xxxx)将背景设置为黑色背景。


8. 请在Launcher.java的closeAllApps(boolean animated)方法中发送设置状态栏背景为透明的intent,


StatusBarService的BroadcastReceiver接收到这个intent,调用


mStatusBarView.reloadBackgroundResource(R.drawable.xxxx)将背景设置为半透明背景。



Android 4.0


1. 请添加半透明的图片资源,例如:statusbar_background.9.png,到路径


alps\frameworks\base\packages\SystemUI\res\drawable-hdpi 下。


2. 如果双卡CU项目请修改zzz_status_bar_gemini_cu.xml,如果是双卡非CU项目请修改


zzz_status_bar_gemini.xml,如果是单卡项目请修改status_bar.xml,将其中的


android:background="@drawable/status_bar_background 修改为


android:background="@drawable/statusbar_background。


3. 请修改StatusBar.java的start()方法,将PixelFormat.RGB_565修改为PixelFormat.TRANSLUCENT。

还要修改colors.xml

将<drawable name="status_bar_background">#ff000000</drawable>

修改为<drawable name="status_bar_background">#00000000</drawable>

4. 请在PhoneStatusBar.java的makeStatusBarView(Context context)方法中注册一个BroadcastReceiver接收自定


义的intent,监控是否在Launcher界面。


5. 请在Launcher.java添加onWindowFocusChanged (boolean hasWindowFocus)方法,如果此方法已有,请跳过


此步骤。


6. 请修改Launcher.java的onWindowFocusChanged (boolean hasWindowFocus)方法:如果hasWindowFocus为


true且!isAllAppsCustomizeOpen()为true,发送设置状态栏背景为透明的intent,PhoneStatusBar的BroadcastReceiver


接收到这个intent,调用mStatusBarView.setBackgroundResource(R.drawable.xxxx)将背景设置为半透明背景;否则


,发送设置状态栏背景为黑色的intent,PhoneStatusBar的BroadcastReceiver接收到这个intent,调用


mStatusBarView.setBackgroundResource(R.drawable.xxxx)将背景设置为黑色背景。


7. 请在Launcher.java的showAllApps(boolean animated) 方法中发送设置状态栏背景为黑色的intent,


PhoneStatusBar的BroadcastReceiver接收到这个intent,调用


mStatusBarView.setBackgroundResource(R.drawable.xxxx)将背景设置为黑色背景。


8. 请在Launcher.java的showWorkspace(boolean animated)方法中发送设置状态栏背景为透明的intent,


PhoneStatusBar的BroadcastReceiver接收到这个intent,调用


mStatusBarView.setBackgroundResource(R.drawable.xxxx)将背景设置为半透明背景。