res/layout/folder_icon.xml:        android:src="@drawable/icon_bg_6"/>     换个方形的背景

packages\apps\Launcher3\src\com\android\launcher3\FolderIcon.java

private PreviewItemDrawingParams computePreviewItemDrawingParams(int index,
            PreviewItemDrawingParams params) {
// add by x
int index_order = index;
final int previewPadding = FolderRingAnimator.sPreviewPadding;
// add end
        index = NUM_ITEMS_IN_PREVIEW - index - 1;
        float r = (index * 1.0f) / (NUM_ITEMS_IN_PREVIEW - 1);
        float scale = (1 - PERSPECTIVE_SCALE_FACTOR * (1 - r));
        float offset = (1 - r) * mMaxPerspectiveShift;
        float scaledSize = scale * mBaselineIconSize;
        float scaleOffsetCorrection = (1 - scale) * mBaselineIconSize;
        // We want to imagine our coordinates from the bottom left, growing up and to the
        // right. This is natural for the x-axis, but for the y-axis, we have to invert things.
        float transY = mAvailableSpaceInPreview - (offset + scaledSize + scaleOffsetCorrection) + getPaddingTop();
        float transX = offset + scaleOffsetCorrection;
        float totalScale = mBaselineIconScale * scale;
        final int overlayAlpha = (int) (80 * (1 - r));

// add by x
if( PERSPECTIVE_SHIFT_FACTOR ==0.24f){

}else{
if(0 <= index_order&&index_order < 3){ // 0 1 2 
transX=index_order*mBaselineIconSize + 1*previewPadding;
transY=mAvailableSpaceInPreview - (2*mBaselineIconSize + scaledSize + scaleOffsetCorrection) + getPaddingTop()+0.2f*mBaselineIconSize;

}else if(3 <= index_order&&index_order < 6){ // 3 4 5 
transX=(index_order-3)*mBaselineIconSize + 1*previewPadding;
//transY=1*mBaselineIconSize+9*previewPadding;
transY=mAvailableSpaceInPreview - (1*mBaselineIconSize + scaledSize + scaleOffsetCorrection) + getPaddingTop()+0.2f*mBaselineIconSize;
}else if(6 <= index_order&&index_order < 9){ // 6 7 8 
transX=(index_order-6)*mBaselineIconSize + 1*previewPadding;
//transY=2*mBaselineIconSize+9*previewPadding;
transY=mAvailableSpaceInPreview - (0*mBaselineIconSize + scaledSize + scaleOffsetCorrection) + getPaddingTop()+0.2f*mBaselineIconSize;
}
totalScale = mBaselineIconScale * 1 - 0.1f;
}
//add end

if (params == null) {
            params = new PreviewItemDrawingParams(transX, transY, totalScale, overlayAlpha);
        } else {
            params.transX = transX;
            params.transY = transY;
            params.scale = totalScale ;
            params.overlayAlpha = overlayAlpha;
        }
        return params;
    }

// The number of icons to display in the
    private static final int NUM_ITEMS_IN_PREVIEW = 4;     // 显示的个数

// The amount of vertical spread between items in the stack [0...1]
    private static final float PERSPECTIVE_SHIFT_FACTOR = 1.59f;//1.59f //0.24f     //控制文件夹内的子图标大小,值越大,图标越小

因为这个值关系到 mBaselineIconSize ,如下

private void computePreviewDrawingParams(int drawableSize, int totalSize) {

int unscaledHeight = (int) (mIntrinsicIconSize * (1 + PERSPECTIVE_SHIFT_FACTOR));
            mBaselineIconScale = (1.0f * adjustedAvailableSpace / unscaledHeight);
            mBaselineIconSize = (int) (mIntrinsicIconSize * mBaselineIconScale);

...

}

@Override
    protected void dispatchDraw(Canvas canvas) {

~         // 显示子图标的 顺序

int nItemsInPreview = Math.min(items.size(), NUM_ITEMS_IN_PREVIEW);
        if (!mAnimating) {
            //for (int i = nItemsInPreview - 1; i >= 0; i--) {       
for (int i = 0; i <= nItemsInPreview - 1; i++) {
                v = (TextView) items.get(i);
                if (!mHiddenItems.contains(v.getTag())) {
                    d = v.getCompoundDrawables()[1];
                    mParams = computePreviewItemDrawingParams(i, mParams);
                    mParams.drawable = d;
                    drawPreviewItem(canvas, mParams);
                }
            }
        } else {
            drawPreviewItem(canvas, mAnimParams);
        }

~

}

launcher3 修改文件夹图标九宫格显示相关推荐

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

    Launcher3 Android10.0修改文件夹图标为九宫格 Launcher3 Android10.0修改文件夹图标为九宫格 文件夹图标在Launcher里表示为预览文件夹 1.修改预览文件夹的 ...

  2. TortoiseSVN文件夹图标不显示

    伴随着十二月的脚步,小编带领的市委组织部项目有条不紊的进行着,在最近的项目中遇到一个问题TortoiseSVN文件夹的图标不显示,为什么小编已经安装好TortoiseSVN了,发现文件夹的图标还是系统 ...

  3. Android10 Launcher3调整文件夹图标的默认布局

    从android O开始,主界面的默认图标就是圆形的,所以文件夹图标默认显示的4个应用其实是按照圆弧排列的,之前有看到文章描述做成9宫格就可以很明显地看出来: 公司需求是默认用正方形布局,不管2个还是 ...

  4. Windows11修改文件夹图标的方法

    1.将.ico图标文件放入文件夹 2.点击上面三点,打开 选项 3.点击查看,在下面的高级设置中找到"隐藏受保护的操作系统文件(推荐)"取消勾选,确定 4.打开desktop.in ...

  5. u盘中的android文件夹图标不显示,U盘中文件夹怎么设置自定义图标而不变样

    在U盘里面,装着各种各样的资料文件,除了文件夹外,还有不少的图标文件(如*.ico,*.exe等).U盘的文件夹的图标有时会随着文件夹的移动而变样或者失效,有什么办法可以将文件夹图标换成自定义图标而不 ...

  6. u盘中的android文件夹图标不显示,个性化自己U盘里的文件夹图标不让其随着文件夹的移动而改变...

    U盘里的文件夹图标总是那么几种,相信有不少朋友一定看腻了,想要个性化自己U盘里的文件夹图标,并且这些自定义的图标不会随着文件夹的移动而变样或失效.看起来还是个挺难完成的任务呢,不过跟着小编一起来操作, ...

  7. win7修改文件夹图标

    花了好几天时间折腾了一下win7操作系统的文件夹图标, 今天终于弄好了, 写下来和大家分享一下. 方法一: 修改注册表 这个方法很简单, 但是局限也是很明显的: 首先,文件夹选项里面要选择" ...

  8. TortoiseSVN文件及文件夹图标不显示解决方法

    我的系统是WIN10的,发现检出的文件或文件夹不现实图标,而图标在svn中的作用又非常重要,不同的图标代表着对该文件或文件夹进行的操作或操作的结果,所以没有了图标,我所进行的操作产生的结果就不知道.于 ...

  9. android u盘怎么打开文件夹图标不显示不出来了,如何解决U盘图标不显示但资源管理器中还能看到U盘...

    症状描述: 1.插上u盘后,看不到u盘图标,但资源管理器那还能看到U盘,并且可以存取文件 2.u盘在别的机器上也可以用 3.在u盘盘符上点弹出,也弹不出,在控制面板-系统-硬件里u盘属性里点停止使用, ...

最新文章

  1. php中序列化与反序列化
  2. LaTeX 第五课:数学公式排版
  3. c 判断文件是否存在_C语言编程之怎样判断某一文件是否存在
  4. 记一次反馈,把钉钉客服聊跑了
  5. DM8168的McSPI/McASP/McBSP接口
  6. java中split以“.“ 、“\“、“|”分隔
  7. @PathVariable、@RequestParam、@RequestBody注解
  8. uni app input添加获取验证码按钮_FILEX | 如何在UniSwap挖到UNI?
  9. 你真的会用Jupyter吗?这里有7个进阶功能助你效率翻倍
  10. 《C Primer Plus》读书笔记
  11. 网页木马是什么原理?
  12. 在线URL解码还原工具
  13. FANUC机器人基础学习_示教器详解(图文)
  14. 96309245通讯异常工行_工商银行信息代码 96309245 是什么意思
  15. 家庭用计算机选购调查报告,【调查报告】计算机选购调查报告.doc
  16. java汉字笔画排序
  17. 2 PC 有它,你就够了!
  18. Python提取pcap文件中原始数据
  19. 【Linux】gcc/g++区别和联系
  20. 关于Rational Rose的使用(初学者)

热门文章

  1. Invalid param tag: Cannot load command parameter [robot_description]:
  2. 支付宝 自动发货 php,ecshop 支付宝自动发货接口
  3. 上海手机移动软件开发论坛_前智能手机开发人员的现代移动软件开发
  4. centos6.8安装db2expc11.1
  5. HDFS慢节点监控及处理
  6. 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。ubu
  7. 三面阿里,有惊无险成功拿到offer定级P7,只能说是真的难
  8. 对抗样本(论文解读八):Towards More Robust Adversarial Attack Against Real World Object Detectors
  9. UIUC说对抗样本出门会失效,被OpenAI怼回来了!
  10. 贪心算法——聪明的LJY