如何为锁屏设置一张不同于launcher的,固定加载的背景图片
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
google default design, 锁屏和launcher一样都是透到wallpaper上的,所以无论何时锁屏和launcher的背景图片都是一样的,而这张图片由wallpaper提供。
如果希望为锁屏设置一张区别于launcher的, 不同的锁屏背景图片,请按如下步骤修改。
[SOLUTION]
L上
L上可按如下方法为keyguard设置单独的壁纸:
(1)在alps/php?mod=tag&id=6090" target="_blank" class="relatedlink">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(){
public void run(){
mholder.setBackgroundResource(R.drawable.keyguard_wallpaper);
}
});
//end
mScrimController.setKeyguardShowing(true);
} else {
//begin 添加下面一行
mHolder.setBackgroundResource(0);
//end
mScrimController.setKeyguardShowing(false);
}
...
}
JB/KK
1. 在keyguardViewManager.java中拿掉FLAG_SHOW_WALLPAPER属性.
2. 在frameworks\base\core\res\res\相应的drawable文件夹中添加背景图片资源keyguard_wallpaper.png (for JB)
3. 在frameworks\base\packages\Keyguard\res\ 相应的drawable文件夹中添加背景图片资源keyguard_wallpaper.png
(for KK)
4. 在KeyguardViewManager.inflateKeyguardView()中加入下面这句代码:
mKeyguardView.setBackgroundResource(R.drawable.keyguard_wallpaper);
PS: 修改完成后,锁屏壁纸便是一张预置的图片,更换wallpaper壁纸不会更换锁屏壁纸。
google default design, 锁屏和launcher一样都是透到wallpaper上的,所以无论何时锁屏和launcher的背景图片都是一样的,而这张图片由wallpaper提供。
如果希望为锁屏设置一张区别于launcher的, 不同的锁屏背景图片,请按如下步骤修改。
[SOLUTION]
L上
L上可按如下方法为keyguard设置单独的壁纸:
(1)在alps/php?mod=tag&id=6090" target="_blank" class="relatedlink">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(){
public void run(){
mholder.setBackgroundResource(R.drawable.keyguard_wallpaper);
}
});
//end
mScrimController.setKeyguardShowing(true);
} else {
//begin 添加下面一行
mHolder.setBackgroundResource(0);
//end
mScrimController.setKeyguardShowing(false);
}
...
}
JB/KK
1. 在keyguardViewManager.java中拿掉FLAG_SHOW_WALLPAPER属性.
2. 在frameworks\base\core\res\res\相应的drawable文件夹中添加背景图片资源keyguard_wallpaper.png (for JB)
3. 在frameworks\base\packages\Keyguard\res\ 相应的drawable文件夹中添加背景图片资源keyguard_wallpaper.png
(for KK)
4. 在KeyguardViewManager.inflateKeyguardView()中加入下面这句代码:
mKeyguardView.setBackgroundResource(R.drawable.keyguard_wallpaper);
PS: 修改完成后,锁屏壁纸便是一张预置的图片,更换wallpaper壁纸不会更换锁屏壁纸。
学习学习!
顶一下