說明
介紹一下機子開機後,預設加載到桌面的程式快捷方式、小插件、和檔案夾的修改方法。在4.0之後launcher 還加入了快捷方式導覽列-hotSeat,也介紹下如何把程式預設加載在hotseat上。
1. Workspace
用于顯示桌面圖示、快捷方式、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格*/
配置桌面圖示、widget、快捷方式,超連結和檔案夾
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.BrowserActivity" //該應用的包名
launcher:className="com.android.browser" //該應用的類,點選圖示時,需要啟動的類
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="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>
2. hotseat
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" />