Android8.1 Launcher3 修改文件夹样式(二)

本文介绍了如何将Android8.1 Launcher3的文件夹缩略图从原生的圆形修改为九宫格形式。通过调整ClippedFolderIconLayoutRule类的规则,并修改FolderIcon.java中的dispatchDraw()方法以及PreviewBackground.java,实现了九宫格的文件夹显示效果。然而,当文件夹页面满载时,长按外部应用无法将缩略图滑动至当前页的问题尚未解决,涉及的代码位于PreviewItemManager.java中。
摘要由CSDN通过智能技术生成

Android8.1 Launcher3 修改文件夹样式(二)

这篇博客修改的是文件夹的缩略图,修改为九宫格。

原生的是一个圆形,而且最多只能显示四个app的缩略图,修改为国内常见的九宫格形式;
上代码
src/com/android/launcher3/folder/FolderIcon.java
可以看到这个FolderIcon是一个view,那么基本就可以确定这就是文件夹的缩略图了,但是找了一下没发现它有onDraw()方法,也没有onLayout()方法;
找了一会没有思路,这个时候我转变了思路,在folder包下面,发现src/com/android/launcher3/folder/ClippedFolderIconLayoutRule.java
这个类,有兴趣的同学可以看看,里面有三角函数,还有圆周率,因为原生的文件夹缩略图就是以圆形排列的,为了确定,修改这两个常量,就可以看出效果:

 /* 20180702 modify begin */
//    static final int MAX_NUM_ITEMS_IN_PREVIEW = 4;
    static final int MAX_NUM_ITEMS_IN_PREVIEW = Integer.MAX_VALUE;
    /* 20180702 modify end */
    private static final int MIN_NUM_ITEMS_IN_PREVIEW = 2;

    /* 20180702 modify begin */
    private static final float MIN_SCALE = 0.22f;
    /* 20180702 modify end */

到这里就可以确定文件夹缩略图的规则就是这个类做的了,那么我们就要修改一下这个规则:

@Override
    public PreviewItemDrawingParams computePreviewItemDrawingParams(int index, int curNumItems,
            PreviewItemDrawingParams params) {

......        

        transX = mTmpPoint[0];
        transY = mTmpPoint[1];

        /* 20180702 modify begin */
        
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值