Launcher3 Android10.0修改文件夹图标为九宫格

Launcher3 Android10.0修改文件夹图标为九宫格

文件夹图标在Launcher里表示为预览文件夹

1、修改预览文件夹的最大容纳数量为9

ClippedFolderIconLayoutRule.java:

public static final int MAX_NUM_ITEMS_IN_PREVIEW = 9;

2、判定只要rank小于9,就是可以在预览文件夹里显示的item

FolderIconPreviewVerifier.java:

public boolean isItemInPreview(int page, int rank) {

if (mGridSize[0] == 1) {

Log.w(TAG, "setFolderInfo not called before checking if item is in preview.");

}

return rank < MAX_NUM_ITEMS_IN_PREVIEW;

}

3、改完上面,这里传进来的index就只会是0-8,然后改一下计算位置的方法。

ClippedFolderIconLayoutRule.java:

private static final float MIN_SCALE = 0.2f;

public PreviewItemDrawingParams computePreviewItemDrawingParams(int index, int curNumItems,

PreviewItemDrawingParams params) {

float totalScale = scaleForItem();

float transX;

float transY;

float overlayAlpha = 0;

getPosition(index, mTmpPoint);

transX = mTmpPoint[0];

transY = mTmpPoint[1];

if (params == null) {

params = new PreviewItemDrawingParams(transX, transY, totalScale, overlayAlpha);

} else {

params.update(transX, transY, totalScale);

params.overlayAlpha = overlayAlpha;

}

return params;

}

private void getPosition(int index, float[] result) {

int x = index % 3;

int y = index / 3;

float totalLength = mAvailableSpace;

float iconSize = mIconSize * scaleForItem();

float padding = (totalLength-(iconSize*3))/4;

result[0] = (iconSize+padding)*x+padding;

result[1] = (iconSize+padding)*y+padding;

}

public float scaleForItem() {

return MIN_SCALE * mBaselineIconScale;

}

其实到这里就已经就是九宫格了

4、文件夹的图标比正常app图标要小一点,改成和app图标一样大。

DeviceProfile.java:

private void updateIconSize(float scale, Resources res, DisplayMetrics dm) {

......

// Folder icon

folderIconSizePx = iconSizePx;

......

}

5、设置文件夹图标和标题间距为0。

FolderIcon.java:

public static FolderIcon fromXml(int resId, Launcher launcher, ViewGroup group,

FolderInfo folderInfo) {

......

lp.topMargin = grid.iconSizePx;

}

因为之前有设置过app的图标和标题的间距为0,代码如下:

BubbleTextView.java:

public BubbleTextView(Context context, AttributeSet attrs, int defStyle) {

......

if (display == DISPLAY_WORKSPACE) {

......

setCompoundDrawablePadding(0);

......

} else if (display == DISPLAY_ALL_APPS) {

......

setCompoundDrawablePadding(0);

......

} else if (display == DISPLAY_FOLDER) {

......

//这里其实是文件夹PagedView里的app图标,不是文件夹图标

setCompoundDrawablePadding(0);

......

}

}

到这里就改完啦

如果你只改了MAX_NUM_ITEMS_IN_PREVIEW,你的文件夹图标将是下面这种,还能转圈圈哈哈哈哈哈哈

Launcher3 Android10.0修改文件夹图标为九宫格相关教程

android 自定义文件夹图标,Launcher3 Android10.0修改文件夹图标为九宫格相关推荐

  1. Android10.0修改默认usb为MTP模式

    Android10.0修改默认usb为MTP模式,方法如下: 在frameworks/base/services/usb/java/com/android/server/usb/UsbDeviceMa ...

  2. 如何更改linux文件权限设置,linux文件权限学习笔二——如何修改文件权限(chgrp,chown,chmod)...

    linux文件权限学习随笔二--如何修改文件权限 一.修改文件所属组群--chgrp 修改文件所属组群很简单-chgrp命令,就是change group的缩写(我们可以利用这些来记忆命令) 语法:c ...

  3. 计算机中扩展名在哪里更改,什么是文件扩展名?Win10如何修改文件扩展名?

    文件扩展名也叫文件的后缀名,是操作系统用来标志文件类型的一种机制.一般一个扩展名是跟在主文件名后面的,由一个分隔符分隔.比如,"QQ.exe"的文件名中,QQ是主文件名,exe是扩 ...

  4. data后缀文件解码_封装ThinkPHP6.0通用文件上传

    php中文网最新课程 每日17点准时技术干货分享 本文为php中文网认证作者:"wpj"投稿,欢迎加入php中文网有偿投稿计划! 本文实例讲述了封装ThinkPHP6通用文件上传方 ...

  5. 服务器更改文件夹权限,云服务器如何修改文件权限

    chmod命令可以使用数字修改文件权限 r --> 4 w --> 2 x --> 1 由于这 9 个字符分属 3 类用户,因此每种用户身份包含 3 个权限(r.w.x),通过将 3 ...

  6. 怎样把服务器的文件改名字,linux服务器如何修改文件名称rm命令删除文件时排除特定文件...

    grep -i richard telnos 在文件telnos中检索字符串richard,不顾字母的大小写. grep '[0-9]*' chapter1 由于[0-9]*与空字符串匹配,上述命令打 ...

  7. Linux下文件权限查看并使用chomd修改文件权限

    文章目录 1.查看文件权限 2.修改文件权限 2.1.增加权限 2.2.删除权限 2.3.唯一权限 2.4.命令用法总结 1.查看文件权限 首先我使用了root账户在/usr/local/test创建 ...

  8. linux新建脚本文件,linux shell脚本编程2—修改文件时间和创建新文件即touch命令的使用...

     在使用ls命令时,每个文件在Linux下面都会记录3个主要的修改时间: modification time(mtime,修改时间):当该文件的"内容数据"更改时,就会更新这个时 ...

  9. 如何批量修改文件后缀名?(批量修改文件的扩展名)

    无需软件批量修改文件后缀名?怎么通过命令行批量修改文件后缀名?有时候由于文件后缀名格式不同,有的时候我们需要对文件扩展名进行修改,或者文件扩展名丢失,需要添加.如果数量少的文件那还简单直接修改就好了. ...

最新文章

  1. 单片机找工作好找吗?不懂英语怎么学会单片机?
  2. java中的volatile和synchronized
  3. 理解vue赋值新属性
  4. 1.5 卷积步长-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  5. 任务和特权级保护(三)——《x86汇编语言:从实模式到保护模式》读书笔记34
  6. MT7688 坑爹的 SPI Master 半双工全双工问题
  7. 中台架构详解(上) | 大咖说中台
  8. 如何使用Linux重置Windows密码
  9. 异常详细信息: System.UnauthorizedAccessException: 对路径的访问被拒绝。
  10. 数据挖掘与其商务智能上的应用的实验报告
  11. 如何在 Apple TV 上更快地打开您喜爱的应用?
  12. 转 fpga学习经验1
  13. 计算机专业代码933,数学类专业代码
  14. python安装包————————百度网盘
  15. 个人作业-软件案例分析
  16. 监听浏览器返回,可清除历史记录(移动端:手势返回)(vue)
  17. Windows虚拟机的相关配置
  18. 中文CTEX加下划线无法换行问题
  19. PTG DAO 生态
  20. 穿越寒冬春暖花开,当下便是在社科院杜兰金融管理硕士项目读研的好时光

热门文章

  1. ABAP Docking Control Container开发实例
  2. C语言调用libusb访问USB驱动
  3. 华为p20Android怎么解开,【华为P20】解锁EMUI8.1系统下华为P20的各种玩法新技巧
  4. 【小米机试】厨艺大赛奖金
  5. 百度地图 polygon点击事件_中国地图的画法
  6. 江苏省扬州市谷歌高清卫星地图下载
  7. 抽屉实现评论数据结构及评论内容显示示例
  8. C语言中的选择结构语句
  9. iTOP-4418开发板Linux系统移植modbus-arm的测试程序
  10. 链表:两个链表的第一个重合节点