可按如下步骤实现:
1,在alps/frameworks/base/packages/SystemUI/res/drawable添加图片资源keyguard_wallpaper.png
2,PhoneStatusBar.java中:
//begin 添加下面一行
PanelHolder mHolder;//成员变量
//end
...
protected PhoneStatusBarView makeStatusBarView() {
...
//begin 将下面第一行替换为第二行
PanelHolder holder = (PanelHolder) mStatusBarWindow.findViewById(R.id.panel_holder);
mHolder = (PanelHolder) mStatusBarWindow.findViewById(R.id.panel_holder);
//end
...
private void updateKeyguardState(boolean goingToFullShade, boolean fromShadeLocked) {
...
if (mState == StatusBarState.KEYGUARD || mState == StatusBarState.SHADE_LOCKED) {
//begin 添加下面一段
mHolder.post(new Runnable(){
mHolder.post(new Runnable(){
public void run(){
mholder.setBackgroundResource(R.drawable.keyguard_wallpaper);
}
});
//end
mScrimController.setKeyguardShowing(true);
} else {
mScrimController.setKeyguardShowing(true);
} else {
//begin 添加下面一行
mHolder.setBackgroundResource(0);
mHolder.setBackgroundResource(0);
//end
mScrimController.setKeyguardShowing(false);
}
}
...
}
本文介绍如何通过修改Android源码实现在锁屏状态下显示自定义壁纸的方法。主要涉及在SystemUI项目的PhoneStatusBar类中添加成员变量及修改相应方法,以在特定状态下调用壁纸背景。
1107

被折叠的 条评论
为什么被折叠?



