Launcher系统默认设置修改总结 
 
1、launcher的布局太居中,要想两边拉伸 <\packages\apps\Launcher2\res\values\dimens.xml>     <dimen name="  apps_customize_pageLayoutPaddingLeft">40dp</dimen>     <dimen name="  apps_customize_pageLayoutPaddingRight">40dp</dimen> apps tab栏的宽度( Launcher2 icon 数目、大小) \packages\apps\Launcher2\res\layout-sw720dp\workspace.xml>     launcher:cellCountX="10" 
    launcher:cellCountY="6"  
2、或者不想改数目: <\packages\apps\Launcher2\src\com\android\launcher2\AppsCustomizeTabHost.java>     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {           mTabs.getLayoutParams().width = contentWidth   + 108;  
3、workspace、AppsCustomize的cell大小: <\packages\apps\Launcher2\res\values-sw600dp\dimens.xml>     <dimen name="workspace_cell_width">110dip</dimen> 
    <dimen name="workspace_cell_height">110dip</dimen>  
    <dimen name="apps_customize_cell_width">110dp</dimen> 
    <dimen name="apps_customize_cell_height">110dp</dimen>  
 4、里面icon的大小: <\packages\apps\Launcher2\res\values-sw600dp\dimens.xml>      <dimen name="app_icon_size">80dp</dimen>  
5、workspace没有拖动,第二页第一个icon出现在第一页的最右边: 加大workspace的宽度,或间距: workspace的paddingLeft、paddingRight: <\packages\apps\Launcher2\res\values-sw600dp-land\dimens.xml>     <dimen name="workspace_left_padding">50dip</dimen> 
    <dimen name="workspace_right_padding">50dip</dimen>  
workspace两屏间距: <dimen name="workspace_page_spacing">100dp</dimen>  
修改workspace的字体大小: 如果没有就添加: <\packages\apps\Launcher2\res\values-sw480dp\styles.xml>     <style name="WorkspaceIcon.Landscape">         <item name="android:textSize">13sp</item>     </style>  
6、加wallpaper: 1.<\packages\apps\Launcher2\res\values-sw600dp\wallpapers.xml>    加wallpaper的名字 2.<\packages\apps\Launcher2\res\drawable-nodpi>    加如wallpaper  
 
 7、gallery的widget默认添加到workspace上: <\packages\apps\Launcher2\res\xml\default_workspace.xml>     <!-- Middle screen [2] --> 
    <appwidget 
        launcher:packageName="com.android.gallery3d" 
        launcher:className="com.android.gallery3d.gadget.PhotoAppWidgetProvider" 
        launcher:screen="2" 
        launcher:x="1" 
        launcher:y="0" 
        launcher:spanX="3" 
        launcher:spanY="3" />  
<\packages\apps\Gallery2\src\com\android\gallery3d\gadget\PhotoAppWidgetProvider.java>     @Override 
    public void onUpdate(Context context,   
            for (int id : appWidgetIds) { 
                if(id == 2){                      helper.setWidget(id,WidgetDatabaseHelper.TYPE_SHUFFLE, null);                   
                } 
         
    }  
8、在桌面上添加网页的快捷方式: <\packages\apps\Launcher2\res\xml\default_workspace.xml>      <shortcut         launcher:title="@string/application_name" 
        launcher:icon="@drawable/ic_no_applicati**" 
        launcher:uri="http://www.aaa.com" 
        launcher:screen="0" 
        launcher:x="0" 
        launcher:y="3" />  
9、在桌面上默认放文件夹: <\packages\apps\Launcher2\res\xml\default_workspace.xml>      <folder 
          launcher:screen="2" 
          launcher:x="2" 
          launcher:y="2" 
          launcher:title = "@string/application_name" > 
          
          
     <favorite 
          launcher:className="com.android.deskclock.DeskClock" 
          launcher:packageName="com.android.deskclock" 
          launcher:container="1" 
          launcher:x="0" 
          launcher:y="0" /> 
 
     <favorite 
          launcher:className="com.android.calculator2.Calculator" 
          launcher:packageName="com.android.calculator2" 
          launcher:container="1" 
          launcher:x="0" 
          launcher:y="0" /> 
     
     </folder>      
10、桌面上添加快捷方式,点击播放视频: <\packages\apps\Launcher2\res\xml-sw720dp\default_workspace.xml>  <shortcut launcher:title="@string/application_name"  launcher:icon="@drawable/ic_launcher_application"  launcher:uri="[url=]file:///mnt/sdcard/external_sdcard/1...playermenu;end[/url]"  launcher:screen="2"     launcher:x="1"  launcher:y="1" />  
11、安装apk,显示隐藏的google play: 1.写google显示的apk: GooglePlayShow的activity:         ComponentName componentname = new ComponentName("com.android.vending", "com.android.vending.AssetBrowserActivity"); 
        packagemanager.setComponentEnabledSetting(componentname, 1, 1); 
          
        componentname = new ComponentName("com.example.googleplayshow", "com.example.googleplayshow.MainActivity"); 
        packagemanager.setComponentEnabledSetting(componentname, 2, 1);  
2.<\packages\apps\Launcher2\src\com\android\launcher2\LauncherModel.java>             } else if (Intent.ACTION_PACKAGE_ADDED.equals(action)) { 
                if (!replacing) { 
                         if(packageName.equals("com.example.googleplayshow")){ 
                              context.startActivity(new Intent().setComponent(new ComponentName("com.example.googleplayshow", "com.example.googleplayshow.MainActivity")).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); 
                         } 
                    op = PackageUpdatedTask.OP_ADD; 
                } else { 
                    op = PackageUpdatedTask.OP_UPDATE; 
                } 
            }  
隐藏google search: <\packages\apps\Launcher2\src\com\android\launcher2\Launcher.java>     private void setupViews() {         mSearchDropTargetBar = (SearchDropTargetBar) mDragLayer.findViewById(R.id.qsb_bar); 
        mSearchDropTargetBar.hideSearchBar(false);  
    void showWorkspace(boolean animated, Runnable onCompleteRunnable) {         //mSearchDropTargetBar.showSearchBar(wasInSpringLoadedMode);  
12、widget中隐藏google play: <\packages\apps\Launcher2\src\com\android\launcher2\AppsCustomizePagedView.java> updatePackages里面添加: if(!widget.provider.getPackageName().equals("com.android.vending") && !widget.provider.getPackageName().equals("com.android.vending.MarketWidgetProvider")){     mWidgets.add(widget); }  
13、clock的widget下部分显示不全,向上调 <\packages\amlogic\Launcher2\res\values\dimens.xml> <dimen name="app_widget_preview_padding_top">10dp</dimen>  
修改widget的text的size: <\packages\amlogic\Launcher2\res\layout\apps_customize_widget.xml>      android:id="@+id/widget_name"      android:textSize="20sp" />  
14、launcher中隐藏一个app: 需要该app的packageName,例如要隐藏settings: <\packages\apps\Launcher2\src\com\android\launcher2\LauncherModel.java>         private void loadAllAppsByBatch() {                      apps = packageManager.queryIntentActivities(mainIntent, 0);   
                    ResolveInfo removeApp = null;                     for(ResolveInfo info:apps){                         if(info.activityInfo.packageName.equals("com.android.settings")){                                 removeApp = info;                         }                       }                       if(removeApp != null){                         apps.remove(removeApp);                     }  
15、launcher中隐藏多个app: 红色为改动部分 <\packages\apps\Launcher2\src\com\android\launcher2\LauncherModel.java>       private void loadAllAppsByBatch() {      final PackageManager packageManager = mContext.getPackageManager();             List<ResolveInfo> apps = new ArrayList<ResolveInfo>();             List<ResolveInfo> allApps = null;  
 
            int N = Integer.MAX_VALUE;  
            int startIndex;             int i=0;             int batchSize = -1;             while (i < N && !mStopped) {                 if (i == 0) {                     mAllAppsList.clear();                     final long qiaTime = DEBUG_LOADERS ? SystemClock.uptimeMillis() : 0;  
                    allApps = packageManager.queryIntentActivities(mainIntent, 0);                     for(ResolveInfo info : allApps){                         if(info.activityInfo != null                                  && !info.activityInfo.packageName.equalsIgnoreCase("com.android.email")                                 && !info.activityInfo.packageName.equalsIgnoreCase("com.android.providers.downloads.ui")                                 && !info.activityInfo.packageName.equalsIgnoreCase("com.adobe.flashplayer")){                             apps.add(info);                         }                     }  
 |