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
  • 链接:
<shortcut
	launcher:title=""                         //链接的标签
	launcher:icon=""                        //链接的icon
	launcher: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(待机界面图标)一般是预置需要自适应的应用图标
<resolve
        launcher: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的标签

<favorite
        launcher:packageName="com.android.browser"
        launcher:className="com.android.browser.BrowserActivity"
        launcher:container="-101"
        launcher:screen="0"
        launcher:x="0"
        launcher:y="0" />
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值