Launcher3 模块的简单设计

本文档详细介绍了如何对Launcher3模块进行定制,包括AllApps背景透明化、应用图标替换、桌面快捷操作按钮添加、APP标题两行显示及后台任务界面按钮功能增强。通过修改布局文件、配置XML、实现Java代码等步骤,实现了一系列交互和视觉的改进。
摘要由CSDN通过智能技术生成

Launcher3 模块的简单设计

Lancher3 路劲: Z:\xxx\packages\apps\Launcher3

任务

1、AllApps背景透明化。
2、Allapps前3个图标变为Chrome、youtube、play商店。
3、长按桌面空白处在弹出的按钮下添加一个图标变大按钮,一个图标变小按钮,点击按钮图标变大或变小。
4、APP 标题两行显示
5、后台任务界面添加一个按钮,点击弹出吐司,默认图标为方形。。

单编

Linux 指令

  1. cd (项目目录)

  2. source build/envsetup.sh

  3. lunch xxx-userdebug-gms trunk

  4. make Launcher3QuickStepGo

push

adb root
adb remount
adb push Z:\xxx\out\target\product\xxx\system_ext\priv-app\Launcher3QuickStepGo\Launcher3QuickStepGo.apk /system_ext/priv-app/Launcher3QuickStepGo/
adb reboot

任务 1

思路:先利用 uiautomatorviewer.bat 工具找到能够包括抽屉模式背景的最小背景布局

请添加图片描述

修改布局背景时不应在对应 xml 中使用 background ,而应该在清单文件 AndroidManifest.xml中修改主题。

路径: apps/Launcher3/res/values/styles.xml
修改:<item name="allAppsScrimColor">#01000000</item>

任务 2

Allapps前3个图标变为Chrome、youtube、play商店。

Chrome应用路径: Z:\xxx\out\target\product\xxx\product\app\Chrome

注意:严格按照所提供的模板 空格与 / 需注意!!!

修改路径: packages\apps\Launcher3\ext\res\xml\arrays.xml

    <!-- Add for customize app position feature: start -->
    <string-array name="customize_app_position" translatable="false">
        <!-- ex: packageName/className#position -->
        <!-- ex: com.android.settings/#0  -->
        <item> com.android.chrome/#0</item>
        <item> com.google.android.youtube/#1</item>
        <item> com.android.vending/#2</item>
    </string-array>
    <!-- Add for customize app position feature: end -->

在 com 命令行窗口输入 adb shell am monitor

请添加图片描述

利用此命令可以获取 apk 的包名。

任务 3

长按桌面空白处在弹出的按钮下添加一个图标变大按钮,一个图标变小按钮,点击按钮图标变大或变小。

请添加图片描述

查询后找到 OptionsPopupView.java 文件, 路径:Z:\xxx\packages\apps\Launcher3\src\com\android\launcher3\views\OptionsPopupView.java

在下述方法 showDefaultOptions(Launcher launcher, float x, float y) 中添加 PopupView, 并且对相应 string 进行定义。

showDefaultOptions(Launcher launcher, float x, float y)
     options.add(new OptionItem(R.string.icon_bigger_button_text,R.drawable.ic_setting,LAUNCHER_SELECT_MODE_RESIZE_BIGGER_ICON, OptionsPopupView::biggerIconSizePx));
        options.add(new OptionItem(R.string.icon_smaller_button_text,R.drawable.ic_setting, LAUNCHER_SELECT_MODE_RESIZE_SMALLER_ICON, OptionsPopupView::smallerIconSizePx));

思路是通过 PopupView 的点击事件发送广播

    private static final
        String BIGGER_ICONPX_ACTION =
        "com.android.launcher3.views.OptionsPopupView_bigger";

    private static final
        String SMALLER_ICONPX_ACTION =
        "com.android.launcher3.views.OptionsPopupView_smaller";


    public static boolean biggerIconSizePx(View view){
   
        Launcher launcher = Launcher.getLauncher(view.getContext());
        Intent intent = new Intent();
        intent.setAction(BIGGER_ICONPX_ACTION);
        launcher.sendBroadcast(intent);
        return true;
    }

    public static boolean smallerIconSizePx(View view){
   
        Launcher launcher = Launcher.getLauncher
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值