如何让主菜单的背景显示为壁纸

如果是  ICS/ICS2 版本的软件,请 follow 以下改法:
 
1:修改 packages\apps\Launcher2\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.android.launcher"
    android:background="#00000000">   // 将这行的 background 的值设为: #00000000, 原值为#FF000000
 
2: 修改 packages\apps\Launcher2\src\com\android\launcher2\Launcher.java
在 private void hideAppsCustomizeHelper(boolean animated, final boolean springLoaded)  方法如下位置加入:
setPivotsForZoom(fromView, scaleFactor);//参考行
updateWallpaperVisibility(true); //参考行
showHotseat(animated); //参考行
if(mDockDivider != null) //加入语句
 mDockDivider.setVisibility(View.VISIBLE); //加入语句
 
3: 仍然是 Launcher.java 文件,修改
private void showAppsCustomizeHelper(boolean animated, final boolean springLoaded) 
在参考位置下加入
// Shrink workspaces away if going to AppsCustomize from workspace  //参考行
        mWorkspace.changeState(Workspace.State.SMALL, animated); //参考行
  // and hide hotseat and dock divider. //加入语句
   hideHotseat(false); //加入语句
  if(mDockDivider != null) //加入语句
   mDockDivider.setVisibility(View.INVISIBLE); //加入语句
  if(mWorkspace != null) //加入语句
   mWorkspace.setVisibility(View.INVISIBLE);//加入语句
 
4: 仍然是 launcher.java 文件,将下面函数中
private void showAppsCustomizeHelper(boolean animated, final boolean springLoaded) 
出现的两处 updateWallpaperVisibility(false); 注释掉
第一处是在此函数内的 public void onAnimationEnd(Animator animation) 函数的最后
第二处是在showAppsCustomizeHelpe函数的最后,即 else 分支的最后一行
 
ICS/ICS2 版本的软件作以上修改就可以了
但 JB/JB2 的版本还需要在以上修改的基础上,加入如下修改
 
5:修改 Launcher.java 中的如下方法:
void disableWallpaperIfInAllApps() {
        // Only disable it if we are in all apps
        if (isAllAppsVisible()) {
            if (mAppsCustomizeTabHost != null &&
                    !mAppsCustomizeTabHost.isTransitioning()) {
                updateWallpaperVisibility(false); //将参数改为 true 即可
            }
        }
    }

你可能感兴趣的:(如何让主菜单的背景显示为壁纸)