一、常用类

  • BaseIconFatory.java : Launcher图标的工厂类,控制了图标UI的展示功能,可以全局搜索
  • OverviewToAllAppsTouchController.java:横向控制抽屉式应用界面的触摸类
  • PortraitStateTouchController.java:竖向控制抽屉式应用界面的触摸类
  • BubbleTextView.java:Launcher所有图标文字显示的父类,包括文字的大小,文字刷新的父类
  • CellLayout.java:Launcher布局的计算类,图标的显示边距等,组成workspace的view,继承自viewgroup即是一个dragSource又是一个dropTarget,可以将它里面的item拖出去,也可以容纳拖过来的item,在workspace_screen里面定了一些它的view参数
  • secondaryDropTartget.java:长按APP图标的操作类,对图标进行移动、删除、移除、取消、卸载等操作
  • DeviceProfile.java:图标大小、各个图标间距、布局等计算实体类、可配置各个参数的全局变量
  • Launcher.java:launcher主要的activity,是launcher桌面第一次启动的activity,UI的主要入口
  • Workspace.java:抽象的桌面。由N个cellLayout组成从cellLayout更高一级的层面上对事件的处理
  • CippedFolderIconLayoutRule.java:文件夹图标内部显示小图标缩略图的计算类别,常见4宫格9宫格显示的实体类
  • FolderGridOrganizer.java:显示文件夹显示的计算逻辑类,文件图标呈现是网格状,此类主要给文件夹各营业图标制定显示规则,比如3*3
  • LoaderTask.java:加载各个模块Task的显示类,如workspace工作区icon、all工作区icon初始化工作
  • PackageUpdatedTask.java:PMS安装应用后显示更新Launcher3图标及逻辑的实现类
  • device_profile.xml:默认Launcher的网格配置,主要有以下几点:
    ①workspace的行和列
    ②文件夹中配置的行和列
    ③图标大小
    ⑤图标名称文字大小
    ⑥默认选择加载哪个网格xml的配置文件
  • default_workspace_xxx.xml:默认排序各图标位置的配置文件,包括文件夹默认创建显示及位置
  • folder_shapes.xml:默认workspace工作区图标大小控制文件。

二、桌面布局(加载到workspace)

2、1布局配置

位于xml/device_profile.xml中,一般grid-option和display-option标签是一组

<grid-option                      //网格配置项               launcher:name="5_by_5"   //名称launcher:numRows="5"   //待机界面应用行数 launcher:numColumns="5"  //待机界面和抽屉应用列数launcher:numFolderRows="4"//文件中的行数launcher:numFolderColumns="4"//文件中的应用列数launcher:numHotseatIcons="5"//Hotseat应用图标数量launcher:dbFile="launcher.db"   //此grid-option下使用的数据库名称launcher:defaultLayoutId="@xml/default_workspace_5x5" >//默认布局的名称<display-option                   //显示属性配置项(用于决定桌面应用图标和应用名称的大小)launcher:name="Large Phone"   //配置信息名称launcher:minWidthDps="406"//应用被允许的最小宽度launcher:minHeightDps="694"//应用被允许的最小高度launcher:iconImageSize="56"   //图标大小launcher:iconTextSize="14.4"   //字体大小launcher:canBeDefault="true" />//是否可以作为默认配置</grid-option>

2、2workspace

在vaule/config.xml中进行配置

2、3配置桌面图标、widget、快捷方式、超链接和文件夹

在xml/default_workspace.xml
支持的标签
widget:桌面控件
favorite:应用程序快捷方式
shortcut:链接例如网址等
search:搜索框
clock:桌面上的时钟Widget
folder:桌面文件夹
属性
launcher:title:图标下面的文字,目前仅支持引用
launcher:icon:图标引用
launcher:uri:链接地址,链接网址使用
launcher:packageName:应用程序的包名
launcher:className:应用程序的启动类名
launcher:screen:图标所在的屏幕编号
launcher❌图标在横向排列上的序号
launcher:y:图标在纵向排列上的序号

  • 快捷方式:
<favorite                                  //程序快捷键属性标签launcher:packageName=""                  //该应用的包名launcher:className=""     //该应用的类,点击图标时,需要启动的类launcher:screen="1"  //第1屏,0-4屏共5屏launcher:x="0"       //图标X位置,左上角第一个为0,向右递增,共 cell_count_x 个launcher:y="0"       //图标Y位置,左上角第一个为0,向下递增,共 cell_count_y个
/>
  • 桌面widget的标签
<appwidget                                  //插件launcher:className=""  //该应用的类launcher:packageName="" //该应用的包名launcher:screen=""//第1屏,0-4屏共5屏launcher:x=""  //图标X位置,左上角第一个为0,向左递增,共cell_count_x个launcher:y="" //图标Y位置,左上角第一个为0,向下递增,共cell_count_y个launcher:spanX=""                                           //在x方向上所占格数launcher:spanY="" />                                        //在y方向上所占格数
  • 搜索框
<search                       //搜索框
launcher:screen="1"        //从0开始,第二屏
launcher:x="0"           //图标x
launcher:y="1"从       //图标Y
  • 链接:
<shortcutlauncher:title=""                         //链接的标签launcher:icon=""                        //链接的iconlauncher:srceen=""launcher:x=""launcher:y=""launcher:uri="http://www.baidu.com"                  //链接的uri地址,支持网址、action等launcher:screen="1"                                  //第1屏launcher:x="0"                                        //图标X位置launcher:y="3" />                                //图标Y位置

常用launcher.uri的写法:
①跳转到网页:“http:www.google.com”
②跳转到设置的辅助功能:“#Intent;action=android.settings.ACCESSIBILITY_SETTINGS;end”
③打开音乐文件:file:///mnt/sdcard/song.mp3#Intent;action=android.intent.action.VIEW;type=audio/mp3;end
④:指定程序打开音乐文件
“file:///mnt/sdcard/song.mp3#Intent;action=android.intent.action.VIEW;type=audio/mp3;component=com.android.music/.MusicBrowserActivity;end”

  • 文件夹:
<folder launcher:title="@string/WS_Utility"launcher:x="4" launcher:y="0"launcher:screen="2"
>
<favorite launcher:packageName="" launcher:className=""  launcher:x="0" launcher:y="0" />
<favorite launcher:packageName="" launcher:className=""  launcher:x="1" launcher:y="0"  />
<favorite launcher:packageName="" launcher:className="" launcher:x="2" launcher:y="1" />
</folder>
  • resovle(待机界面图标)一般是预置需要自适应的应用图标
<resolvelauncher:container="-101"launcher:screen="1"launcher:x="1"launcher:y="0" ><favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_MESSAGING;end" /><favorite launcher:uri="sms:" /><favorite launcher:uri="smsto:" /><favorite launcher:uri="mms:" /><favorite launcher:uri="mmsto:" /></resolve>

2、4hostseat的配置

用于配置常用的app桌面图标

配置位置xml/default_workspace.xml
同workspace下的favorite应用快捷方式有不同之处
·1、launcher:container:表示应用快捷方式所在位置,-100桌面图标 ,-101是hotseat,默认-100
2、launcher:screen代表按钮的位置0是第一个位置,ALIApp按钮默认是2,所以上年没有screen为2的标签

<favoritelauncher:packageName="com.android.browser"launcher:className="com.android.browser.BrowserActivity"launcher:container="-101"launcher:screen="0"launcher:x="0"launcher:y="0" />

Launcher3中的常用功能类及桌面布局相关推荐

  1. commons-lang3-3.2.jar中的常用工具类的使用

    这个包中的很多工具类可以简化我们的操作,在这里简单的研究其中的几个工具类的使用. 1.StringUtils工具类 可以判断是否是空串,是否为null,默认值设置等操作: /*** StringUti ...

  2. Datawindow在PowerBuilder中的常用功能和内容

    一.数据窗口中的每一个字段有一个序号,该序号是数据窗口的data   source中排列的序号,在程序中可用序号来对字段进行访问.如:dw_1.Modify( "#3.width   =   ...

  3. Node.js中的常用工具类util

    util是一个Node.js核心模块,提供常用函数的集合,用于弥补JavaScript的功能的不足,util模块设计的主要目的是为了满足Node内部API的需求.其中包括:格式化字符串.对象的序列化. ...

  4. Visual C++中最常用的类与API函数

    这篇文章能让初学者快速了解visual C++ MFC中常见的核心的类与函数,虽然全部看下来有点枯燥,但对初学者快速了解MFC的框架结构很有好处. 常用类 CArchive类:用于二进制保存档案  C ...

  5. commons-lang包中我们常用的类的作用

    commons-lang包中对我们有用的类主要有: 1.StringUtils 该类主要提供对字符串的操作,对null是安全的,主要提供了字符串查找,替换,分割,去空白,去掉非法字符等等操作 2.Ob ...

  6. java中的常用日期类_Java中的常用日期类说明

    日期类常用的有三个,Date类,Calendar(日历)类和日期格式转换类(DateFormat) Date类中的大部分的方法都已经过时,一般只会用到构造方法取得系统当前的时间.public clas ...

  7. java中的并发类_java中并发常用工具类

    前言:在你无聊的时候,想想比你优秀还努力的人,也许就不觉的无聊了 今天下午没事干把买的java并发编程艺术这本书拿出来看了看,看了下也记不住,还是好记性不如烂笔头,今天讲四个并发中可能会用到的工具类, ...

  8. java中常见的包类接口_Java中一些常用的类,包,接口

    类:1.java.lang.Object 2.java.lang.String 3.java.lang.System 4.java.io.file 5.java.io.FileInputStream ...

  9. 【Java】Java中的常用工具类(排名前 16)

    文章目录 前言 一.org.apache.commons.io.IOUtils 二.org.apache.commons.io.FileUtils 三.org.apache.commons.lang. ...

最新文章

  1. 介绍Smart Client组件网站
  2. 在C语言里_大学生:我学了这么久的C语言,为什么感觉它啥都做不了?网友:恰恰相反!...
  3. 揭秘HPE的最新一代组合式基础设施Synergy
  4. Cannot open D:\Program Files\Anaconda3\Scripts\pip-script.py
  5. 虚拟机安装CentOS 5.5详细过程和上网配置
  6. android键盘弹出头部上移处理
  7. boost::mp11::mp_set_push_front相关用法的测试程序
  8. ie9 Flash内容无法显示
  9. java swing 注册事件_比较Java Swing中三种注册事件的方法
  10. pcie16x能插1x的卡嘛?_小米米家直流变频电风扇1X改造增加充电电池,智米电风扇加电池---改造成功...
  11. IDEA下的第一个springBoot
  12. 促销海报创意|你想要的秋天(秋季),吸睛大促海报都在这里
  13. Java ClassNotFoundException – java.lang.ClassNotFoundException
  14. AcWing 870. 约数个数(唯一分解+组合数)
  15. UVALive 6888 Ricochet Robots bfs
  16. DG - 物理Standby角色转换
  17. Android 加密
  18. VINS_Fusion学习01——官方教程翻译解读
  19. php 语言开发,PHP语言开发常用工具
  20. Qt Creator使用教程(简明版)

热门文章

  1. 用计算机处理信息小报,文本信息处理-电子小报制作.doc
  2. marvell FDB - MAC地址表
  3. SRRC/无线电发射设备型号核准全面解读
  4. 新浪服务器显示蓝屏05c代码,互联网学问:蓝屏代码0x00000050的原因及解决方法...
  5. CCF-CSP-202112-2:序列查询新解(C++11题解)
  6. 防爆仪表管阀件公司网站模板源码+Eyou内核的
  7. 这所【上海985大学】的专业课科目变了!
  8. 适合程序员使用的Google Chrome mac(谷歌浏览器)
  9. HDU-1207 汉诺塔II
  10. c语言虚数变量,C语言如何表示虚数i