您的位置:首页 > 移动开发 > Android开发

android 状态栏背景修改为透明

2012-11-07 09:35 561 查看
Android 2.3

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

alps\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。

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。

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)将背景设置为半透明背景。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: