Android launcher2 應用列表背景透明/透明壁紙


launcher2的應用列表背景和launcher3是有很大不同,默認為黑色的,這里為了美觀,需要實現背景透明,這樣就可以完整的顯示壁紙了。


        

1、找到res/layout/apps_customize_pane.xml文件,將

原來:

<com.android.launcher2.AppsCustomizeTabHost
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res/com.simple.launcher"
android:background="#FF000000">
改成透明色,即:

<com.android.launcher2.AppsCustomizeTabHost
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res/com.simple.launcher"
android:background="#00000000">

2、Launcher.java,在updateWallpaperVisibility方法中添加visible=true;

void updateWallpaperVisibility(boolean visible) {
//添加
visible=true;
// 使得系統背景顯示在此應用的下層
int wpflags = visible ? WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER
: 0;
int curflags = getWindow().getAttributes().flags
& WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
if (wpflags != curflags) {
getWindow().setFlags(wpflags,
WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER);
}
setWorkspaceBackground(visible);
}

3、Launcher.java,修改setWorkspaceBackground方法

原來:

private void setWorkspaceBackground(boolean workspace) {
mLauncherView.setBackground(workspace ? mWorkspaceBackgroundDrawable
: mBlackBackgroundDrawable);
}
改成:

private void setWorkspaceBackground(boolean workspace) {
mLauncherView.setBackground(mWorkspaceBackgroundDrawable);
}
需要注意的是:網上有些沒改到這個方法的,會有一個小bug,如:再進入一個app后,再退出來,會出現一瞬間背景為黑色的情況,非常影響體驗。

Android 4.0 Launcher2 源碼 Eclipse版  :http://download.csdn.net/detail/baiyulinlin1/9620598

Android 4.0 Launcher2 源碼 Eclipse版(已修改包名,不沖突系統桌面)  :http://download.csdn.net/detail/baiyulinlin1/9620601






注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com