Launcher3中的常用功能类及桌面布局
一、常用类
- 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中的常用功能类及桌面布局相关推荐
- commons-lang3-3.2.jar中的常用工具类的使用
这个包中的很多工具类可以简化我们的操作,在这里简单的研究其中的几个工具类的使用. 1.StringUtils工具类 可以判断是否是空串,是否为null,默认值设置等操作: /*** StringUti ...
- Datawindow在PowerBuilder中的常用功能和内容
一.数据窗口中的每一个字段有一个序号,该序号是数据窗口的data source中排列的序号,在程序中可用序号来对字段进行访问.如:dw_1.Modify( "#3.width = ...
- Node.js中的常用工具类util
util是一个Node.js核心模块,提供常用函数的集合,用于弥补JavaScript的功能的不足,util模块设计的主要目的是为了满足Node内部API的需求.其中包括:格式化字符串.对象的序列化. ...
- Visual C++中最常用的类与API函数
这篇文章能让初学者快速了解visual C++ MFC中常见的核心的类与函数,虽然全部看下来有点枯燥,但对初学者快速了解MFC的框架结构很有好处. 常用类 CArchive类:用于二进制保存档案 C ...
- commons-lang包中我们常用的类的作用
commons-lang包中对我们有用的类主要有: 1.StringUtils 该类主要提供对字符串的操作,对null是安全的,主要提供了字符串查找,替换,分割,去空白,去掉非法字符等等操作 2.Ob ...
- java中的常用日期类_Java中的常用日期类说明
日期类常用的有三个,Date类,Calendar(日历)类和日期格式转换类(DateFormat) Date类中的大部分的方法都已经过时,一般只会用到构造方法取得系统当前的时间.public clas ...
- java中的并发类_java中并发常用工具类
前言:在你无聊的时候,想想比你优秀还努力的人,也许就不觉的无聊了 今天下午没事干把买的java并发编程艺术这本书拿出来看了看,看了下也记不住,还是好记性不如烂笔头,今天讲四个并发中可能会用到的工具类, ...
- java中常见的包类接口_Java中一些常用的类,包,接口
类:1.java.lang.Object 2.java.lang.String 3.java.lang.System 4.java.io.file 5.java.io.FileInputStream ...
- 【Java】Java中的常用工具类(排名前 16)
文章目录 前言 一.org.apache.commons.io.IOUtils 二.org.apache.commons.io.FileUtils 三.org.apache.commons.lang. ...
最新文章
- 介绍Smart Client组件网站
- 在C语言里_大学生:我学了这么久的C语言,为什么感觉它啥都做不了?网友:恰恰相反!...
- 揭秘HPE的最新一代组合式基础设施Synergy
- Cannot open D:\Program Files\Anaconda3\Scripts\pip-script.py
- 虚拟机安装CentOS 5.5详细过程和上网配置
- android键盘弹出头部上移处理
- boost::mp11::mp_set_push_front相关用法的测试程序
- ie9 Flash内容无法显示
- java swing 注册事件_比较Java Swing中三种注册事件的方法
- pcie16x能插1x的卡嘛?_小米米家直流变频电风扇1X改造增加充电电池,智米电风扇加电池---改造成功...
- IDEA下的第一个springBoot
- 促销海报创意|你想要的秋天(秋季),吸睛大促海报都在这里
- Java ClassNotFoundException – java.lang.ClassNotFoundException
- AcWing 870. 约数个数(唯一分解+组合数)
- UVALive 6888 Ricochet Robots bfs
- DG - 物理Standby角色转换
- Android 加密
- VINS_Fusion学习01——官方教程翻译解读
- php 语言开发,PHP语言开发常用工具
- Qt Creator使用教程(简明版)
热门文章
- 用计算机处理信息小报,文本信息处理-电子小报制作.doc
- marvell FDB - MAC地址表
- SRRC/无线电发射设备型号核准全面解读
- 新浪服务器显示蓝屏05c代码,互联网学问:蓝屏代码0x00000050的原因及解决方法...
- CCF-CSP-202112-2:序列查询新解(C++11题解)
- 防爆仪表管阀件公司网站模板源码+Eyou内核的
- 这所【上海985大学】的专业课科目变了!
- 适合程序员使用的Google Chrome mac(谷歌浏览器)
- HDU-1207 汉诺塔II
- c语言虚数变量,C语言如何表示虚数i