首页 > 软件开发 > 想成为程序猿希望知道launcherapp怎么开发

快速发布【软件开发】相关需求,专业顾问为您服务 快速发布

用此手机号发布,您还可以点击 更换

发布需求
请输入正确的手机号
请输入正确的验证码

您是不是要找:

  • 专家问诊,提供专业建议
  • 急速响应,体验省心
  • 根据需求灵活定制解决方案

想成为程序猿希望知道launcherapp怎么开发

标签:launcherapp怎么开发 2017-7-25 作者:钟静123

  做成launcher 其实很简单 只要你是原生 android 或者是没有修改过launcher,下面随小编一起看看launcherapp怎么开发吧。


  1. 如何设置默认页


  修改 res/values/Config.xml


  在 Launcher3 桌面,不管在哪一页,按 HOME 键,会回到默认页。


  2. 如何隐藏 launcher3 中的搜索框


  1. 在 Launcher3/src/com/android/launcher3/Launcher.java 中


  注释 updateGlobalIcons ( ) 方法调用,共两处。


  public View getQsbBar ( ) { if ( mQsbBar == null ) { mQsbBar = mInflater.inflate ( R.layout.search_bar, mSearchDropTargetBar, false ) ; - mSearchDropTargetBar.addView ( mQsbBar ) ; } + mQsbBar.setVisibility ( View.GONE ) ; return mQsbBar; } @Override public void bindSearchablesChanged ( ) { // 注释该方法内容 /* boolean searchVisible = updateGlobalSearchIcon ( ) ; boolean voiceVisible = updateVoiceSearchIcon ( searchVisible ) ; if ( mSearchDropTargetBar != null ) { mSearchDropTargetBar.onSearchPackagesChanged ( searchVisible, voiceVisible ) ; } */ }


  3. 如何调整原生 Launcher3 主界面的 search 框的大小?


  修改如下:


  定位打 /packages/apps/Launcher3/res/values/dimens.xml。


  3dp// 修改这个可以调整 search 框距离顶部距离。 500dp//search 框的宽度,一般不需要调整。 48dp//search 框的高度,不要调整为 0,删除按钮需要占用一部分空间。


  4. 让主菜单部分应用按指定顺序排在前面?


  添加 res/values/arrays.xml:需要排序的应用:这里的 item 内容一定要填写正确,否则会匹配不上,无法参与排序。


  src/com/android/launcher3/LauncherModel.java


  protected int mPreviousConfigMcc; + static List appArray = new ArrayList ( ) ; LauncherModel ( LauncherAppState app, IconCache iconCache, AppFilter appFilter ) { ...... mUserManager = UserManagerCompat.getInstance ( context ) ; + appArray = Utilities.getAppsComponentName ( context ) ; } // 添加如下 sortApps 方法:apps 按 arrays.xml 排序,在原来的排序基础上,将 arrays.xml 配置的应用按顺序排在前面。arrays.xml 中没有涉及到的应用,还是原来的顺序。 public static final void sortApps ( ArrayList apps ) { int length = appArray.size ( ) ; List assignApps = new ArrayList ( ) ; for ( int i=0;i"" app="" appinfo="" for="" i="" if="" int="" k="0;"> -1 ;i-- ) { AppInfo app = assignApps.get ( i ) ; if ( app != null ) { apps.remove ( app ) ; apps.add ( 0, app ) ; } } Log.d ( TAG ,"The Apps List after Sort!" ) ; }


  修改 src/com/android/launcher3/AppsCustomizePagedView.java


  public void setApps ( ArrayList list ) { if ( !LauncherAppState.isDisableAllApps ( ) ) { ...... SprdAppSortAddonStub.getInstance ( ) .sortApps ( mApps ) ; + LauncherModel.sortApps ( mApps ) ;// 在原来排序的基础上,再将 arrays.xml 中配置的应用按顺序排在前面。 updatePageCountsAndInvalidateData ( ) ; } } private void addAppsWithoutInvalidate ( ArrayList list ) { ...... // SPRD: bug375932 2014-12-02 Feature customize app icon sort. SprdAppSortAddonStub.getInstance ( ) .sortApps ( mApps ) ; + LauncherModel.sortApps ( mApps ) ;// 在原来排序的基础上,再将 arrays.xml 中配置的应用按顺序排在前面。 }


  5. 如何确定待机 HOME 界面布局使用的是哪个 default_workspace 文件?


  src/com/android/launcher3/DynamicGrid.java 中


  选择哪个 default_workspace 和 public DynamicGrid ( Context context, Resources resources,int minWidthPx, int minHeightPx, int widthPx, int heightPx, int awPx, int ahPx ) 中的 minWidthPx 和 minHeightPx 以及该方法中创建的 deviceProfiles 列表关。


  minWidthPx 、minHeightPx 值转换为 dpi 之后 ,deviceProfiles 列表与其进行比较,选择与当前屏幕大小最接近的 deviceProfiles 的 default_workSpace 作为最终 Home 界面使用的 default_workspace。


  详细解释如下:


  修改 src/com/android/launcher3/DynamicGrid.java 中


  1.deviceProfiles 列表如下:


  6. 如何替换第三方应用在 launcher 上显示的图标? 7. 如何去掉 Launcher3 的开机引导页面?


  修改方案如下:


  请定位到 src/com/android/launcher3/LauncherClings.java 文件:


  8. 为何 Launcher3 设置一些壁纸后,壁纸显示比预览图模糊?


  预览的时候,没有做格式转化,所以显示正常!


  在设置壁纸的时候,默认是采用 jpeg 格式转换的,导致转换后损耗了一些,设置壁纸后,某些对比度比较高的壁纸就显示的模糊!


  修改方案:


  默认修改为采用 png 格式转换!


  android6.0 之前的版本,请做如下修改:


  定位到 /packages/apps/Launcher3/ 的 WallpaperCropActivity.java 文件


  9. 6.0 平台上 Launcher3 自带的壁纸路径是什么?


  在 6.0 中,平台版本预置了一些壁纸资源,相关路径如下:


  资源文件在:


  packages/apps/Launcher3/WallpaperPicker/res/drawable-xhdpi/


  字串文件在:


  packages/apps/Launcher3/WallpaperPicker/res/values-nodpi/wallpapers.xml


  以上就是小编为大家带来的launcherapp怎么开发,希望对大家有所帮助。


最新文章推荐

软件开发暂无最新文章查看全部推荐文章>

推荐人才