Android源码之Launcher修改---修改Launcher的主屏幕的屏幕数

本文记录了如何修改Android Launcher的主屏幕数量,包括在Launcher.java中设定屏幕数,更新launcher.xml配置,以及调整Workspace.java和default_workspace.xml中的相关参数。详细介绍了每个步骤涉及的代码和文件,如修改屏幕数、设置桌面组件和布局属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


  由于做项目需要修改Launcher的主屏幕的屏幕数,所以研究了一下,以此记录。

  1 第一步、修改Launcher.java 中,定义屏幕数和默认屏幕

   

static final int SCREEN_COUNT = 5;//总屏幕数
static final int DEFAULT_SCREEN = 2;//第一页是从0开始计数,这里是把第3页作为默认屏幕

这里可以根据自己的需要进行修改。


2 第二步、修改launcher.xml,看下面:

<!-- The workspace contains 5 screens of cells -->
        <com.android.launcher2.Workspace
            android:id="@+id/workspace"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:paddingStart="@dimen/workspace_left_padding"
            android:paddingEnd="@dimen/workspace_right_padding"
            android:paddingTop="@dimen/workspace_top_padding"
            android:paddingBottom="@dimen/workspace_bottom_padding"
            launcher:defaultScreen="2"
            launcher:cellCountX="@integer/cell_count_x"
            launcher:cellCountY="@integer/cell_count_y"
            launcher:pageSpacing="@dimen/workspace_page_spacing"
            launcher:scrollIndicatorPaddingLeft="@dimen/workspace_divider_padding_left"
            launcher:scrollIndicatorPaddingRight="@dimen/workspace_divider_padding_right">

            <include android:id="@+id/cell1" layout="@layout/workspace_screen" />
            <include android:id="@+id/cell2" layout="@layout/workspace_screen" />
            <include android:id="@+id/cell3" layout="@layout/workspace_screen" />
            <include android:id="@+id/cell4" layout="@layout/workspace_screen" />
            <include android:id="@+id/cell5" layout="@layout/workspace_screen" />
        </com.android.launcher2.Workspace>

这里可以看到导入了5个workspace_screen,这里需要根据你上面定义的总屏幕数来进行添加或者删减,还有一个属性,你可能也注意到了,就是

launcher:defaultScreen="2"

这里也同样需要根据你上面定义的默认屏幕来进行修改。


3 第三步、修改Workspace.java 中的

mDefaultPage = a.getInt(R.styleable.Workspace_defaultScreen, 0);

修改为和res/xml/default_workspace.xml 做出相应的修改。

default_workspace.xml中熟悉解析:

(1) 桌面widget标签:

<appwidget
        launcher:packageName="com.android.deskclock"
        launcher:className="com.android.alarmclock.AnalogAppWidgetProvider"
        launcher:screen="2"
        launcher:x="1"
        launcher:y="0"
        launcher:spanX="2"
        launcher:spanY="2" />
(2) 快捷方式的说明:

<favorite
        launcher:packageName="com.android.calendar"
        launcher:className="com.android.calendar.AllInOneActivity"
        launcher:screen="2"
        launcher:x="1"
        launcher:y="4" />
(3) 下面列出default_workspace.xml支持的标签和属性:

     ① default_workspace.xml支持的标签有:

          favorite:应用程序快捷方式

          shortcut:链接,如网址、本地磁盘路径等

          search:搜索框

          clock:桌面上的钟表widget

          appwidget:桌面widget

     ②default_workspace.xml支持的属性有:

         launcher:title:图标下面的文字

         launcher:icon:图标引用

         launcher:uri:链接地址,链接网址用的;使用shortcut标签就可以定义一个超链接,打开某网址等。

         launcher:packageName:应用程序的包名

         launcher:className:应用程序的启动类名

         launcher:screen:图标所在的屏幕编号

         launcher:x:图标在横向排列上的序号

         launcher:y:图标在纵向排列上的序号

         launcher:spanX:在x方向上所占格数

         launcher:spanY:在y方向上所占格数

 

注:主屏幕上的每屏的排列格数,也是可以修改的:

      res/values/config.xml中:

<integer name="cell_count_x">4</integer>
    <integer name="cell_count_y">4</integer>
这说明主屏幕上的每屏的排列,都是4*4的,即横向可以放置4个图标,纵向也可以放置4个图标。


至此,基本就可以实现修改Launcher的主屏幕的屏幕数了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值