介绍一下机子开机后,默认加载到桌面的程序快捷方式、小插件、和文件夹的修改方法。在4.0之后launcher 还加入了快捷方式导航条-hotSeat,也介绍下如何把程序默认加载在hotseat上。
用于显示桌面图标、快捷方式、widget和文件夹等
value/config.xml
<!-- Folder max bounds and max number of items. Note: folder_max_count_x * folder_max_count_y
>= folder_max_num_items. When these are set to -1, they are automatically determined. -->
<integer name="folder_max_count_x">4</integer>
<integer name="folder_max_count_y">4</integer>
<integer name="folder_max_num_items">16</integer>/* 桌面文件夹支持的最大内容元素的个数*/
<integer name="cell_count_x">4</integer> /*桌面可以摆放图标的空间,x轴4格*/
<integer name="cell_count_y">4</integer>/*桌面可以摆放图标的空间,y轴4格*/
xml/default_workspace.xml
用于配置默认的桌面应用的图标、widget、快捷方式,超链接和文件夹。
下面列出default_workspace支持的标签和属性:
标签:
- widget: 桌面控件
- favorite: 应用程序快捷方式。
- shortcut: 链接,如网址,本地磁盘路径等。
- search: 搜索框。
- clock: 桌面上的钟表Widget
- folder: 桌面文件夹
属性:
- launcher:title:图标下面的文字,目前只支持引用,不能直接书写字符串;
- launcher:icon:图标引用;
- launcher:uri:链接地址,链接网址用的,使用shortcut标签就可以定义一个超链接,打开某个网址,文件等。
- launcher:packageName:应用程序的包名;
- launcher:className:应用程序的启动类名;
- launcher:screen:图标所在的屏幕编号;
- launcher❌图标在横向排列上的序号;
- launcher:y:图标在纵向排列上的序号;
<favorite //程序快捷键属性标签
launcher:packageName="com.android.browser" //该应用的包名
launcher:className="com.android.browser.BrowserActivity" //该应用的类,点击图标时,需要启动的类
launcher:screen="1" //第1屏,0-4屏共5屏
launcher:x="0" //图标X位置,左上角第一个为0,向右递增,共 cell_count_x 个
launcher:y="0" //图标Y位置,左上角第一个为0,向下递增,共 cell_count_y个
/>
<appwidget //插件
launcher:className="de.dnsproject.clock_widget_main.Clock1AppWidgetProvider" //该应用的类
launcher:packageName="de.dnsproject.clock_widget_main" //该应用的包名
launcher:screen="1"//第1屏,0-4屏共5屏
launcher:x="2" //图标X位置,左上角第一个为0,向左递增,共cell_count_x个
launcher:y="1" //图标Y位置,左上角第一个为0,向下递增,共cell_count_y个
launcher:spanX="3" //在x方向上所占格数
launcher:spanY="2" /> //在y方向上所占格数
<search //搜索栏
launcher:screen="1" //从0开始,第2屏
launcher:x="0" //图标X位置
launcher:y="1"/> //图标Y位置
<shortcut
launcher:title="@string/google" //链接的标签
launcher:icon="@drawable/google" //链接的icon
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”
如果你觉得链接格式容易出错,你可以先写一个对应的intent,然后uri=intent.toUri(0)
Intent it = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.fromFile(new File("/mnt/sdcard/song.mp3" ));
it.setDataAndType(uri, “audio/mp3”);
it.setClassName(“com.android.music”, “com.android.music.MusicBrowserActivity”);
String lancher_uri = it.toUri(0);
<folder launcher:title="@string/WS_Utility"
launcher:x="4"
launcher:y="0"
launcher:screen="2"
>
<favorite launcher:packageName="com.mx.browser" launcher:className="com.mx.browser.SplashActivity" launcher:x="0" launcher:y="0" />
<favorite launcher:packageName="com.dropbox.android" launcher:className="com.dropbox.android.activity.DropboxBrowser" launcher:x="1" launcher:y="0" />
<favorite launcher:packageName="cn.wps.moffice_eng" launcher:className="cn.wps.moffice.documentmanager.PreStartActivity" launcher:x="2" launcher:y="1" />
</folder>
Hotseat为底部的导航条,用于配置常用的app桌面图标。
values/config.xml
<!-- Hotseat -->
<bool name="hotseat_transpose_layout_with_orientation">true</bool>//hotseat是否会跟随手机方向移动位置
<integer name="hotseat_cell_count">5</integer> //hotseat上可配置的图标数,但一定会有个allapp按钮,所以用户配置的图标数是hotseat_cell_count-1
<integer name="hotseat_all_apps_index">2</integer> // allapp按钮所在的位置,从左往右,从0开始算。
<!-- must be between 0 and 100 -->
<integer name="hotseat_item_scale_percentage">100</integer> //图标的缩放比例
注:以上配置android10.0以上无效
xml/default_workspace.xml
注:同workspace下的favorite: 应用程序快捷方式。仅有两处区别
- launcher:container:表示应用快捷方式所在位置,-100为桌面图标 ,-101为hotseat图标;默认为-100 ,在这里需要标识为-101 ,代表是hotseat的默认按钮。
- launcher:screen:代表按钮的位置,0是第一个位置。ALlApp按钮默认是2(见values/config.xml中的hotseat_all_apps_index),所以上面并没有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" />
<favorite
launcher:packageName="com.android.settings"
launcher:className="com.android.settings.Settings"
launcher:container="-101"
launcher:screen="1"
launcher:x="1"
launcher:y="0" />
<favorite
launcher:packageName="com.android.gallery3d"
launcher:className="com.android.camera.CameraLauncher"
launcher:container="-101"
launcher:screen="3"
launcher:x="3"
launcher:y="0" />