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

来源:互联网 发布:淘宝上飞跃鞋是真的吗 编辑:程序博客网 时间:2024/05/17 04:21


  由于做项目需要修改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的主屏幕的屏幕数了。



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 比熊犬晚上叫怎么办 刚买的狗一直叫怎么办 酒驾罚款2年没交怎么办 法院判罚款没有钱怎么办 有人朝你吐口水怎么办 孕妇用了六神花露水怎么办 出车祸人不赔钱怎么办 交通事故对方保险不签字怎么办 肇事车主联系不上怎么办 商标被别人申请无效宣告怎么办 淘宝上传宝贝没有品牌怎么办 萌虎白卡借款2000逾期了怎么办 最里面的牙齿烂了怎么办 金龙沉底不游怎么办 龙鱼尾巴烂了怎么办 微博忘了登录名和密码怎么办 新浪微博密码忘了怎么办 vivo手机用户密码忘了怎么办 微博登录名忘记了怎么办 微信忘记密码钱怎么办 微信密码申诉失败怎么办 微博密码被盗了怎么办 对公密码器丢了怎么办 手机qq忘记旧密码怎么办 qq旧密码忘记了怎么办 微博账户密码忘记了怎么办 三星盖乐世s3忘记密码了怎么办 微博登录密码忘记了怎么办 助学贷款密码忘了怎么办 助学贷款的密码忘了怎么办 助学贷款登录密码忘了怎么办 抖音换了手机登不了怎么办 微信忘记密码申诉失败怎么办 银行卡短信通知没了怎么办 斗鱼手机号被绑定了怎么办 网易邮箱不记得账号怎么办 qq号被盗申诉不回来怎么办 号被盗了申诉不回来怎么办 富士康离职后工资卡号没填怎么办? 填高考志愿时没填电话号码怎么办 铁路12306密码忘了怎么办