Android->Launcher3:桌面布局说明

席安康
2023-12-01

说明

介绍一下机子开机后,默认加载到桌面的程序快捷方式、小插件、和文件夹的修改方法。在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:图标在纵向排列上的序号;
  1. 快捷方式说明:
<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个
/>
  1. 桌面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方向上所占格数
  1. 搜索栏:
<search                                //搜索栏
	launcher:screen="1"               //从0开始,第2屏
	launcher:x="0"                    //图标X位置
	launcher:y="1"/>                  //图标Y位置
  1. 链接:
<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);

  1. 文件夹:
<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: 应用程序快捷方式。仅有两处区别

  1. launcher:container:表示应用快捷方式所在位置,-100为桌面图标 ,-101为hotseat图标;默认为-100 ,在这里需要标识为-101 ,代表是hotseat的默认按钮。
  2. 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" />
 类似资料: