launcher3 修改文件夹图标九宫格显示
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 修改文件夹图标九宫格显示相关推荐
- android 自定义文件夹图标,Launcher3 Android10.0修改文件夹图标为九宫格
Launcher3 Android10.0修改文件夹图标为九宫格 Launcher3 Android10.0修改文件夹图标为九宫格 文件夹图标在Launcher里表示为预览文件夹 1.修改预览文件夹的 ...
- TortoiseSVN文件夹图标不显示
伴随着十二月的脚步,小编带领的市委组织部项目有条不紊的进行着,在最近的项目中遇到一个问题TortoiseSVN文件夹的图标不显示,为什么小编已经安装好TortoiseSVN了,发现文件夹的图标还是系统 ...
- Android10 Launcher3调整文件夹图标的默认布局
从android O开始,主界面的默认图标就是圆形的,所以文件夹图标默认显示的4个应用其实是按照圆弧排列的,之前有看到文章描述做成9宫格就可以很明显地看出来: 公司需求是默认用正方形布局,不管2个还是 ...
- Windows11修改文件夹图标的方法
1.将.ico图标文件放入文件夹 2.点击上面三点,打开 选项 3.点击查看,在下面的高级设置中找到"隐藏受保护的操作系统文件(推荐)"取消勾选,确定 4.打开desktop.in ...
- u盘中的android文件夹图标不显示,U盘中文件夹怎么设置自定义图标而不变样
在U盘里面,装着各种各样的资料文件,除了文件夹外,还有不少的图标文件(如*.ico,*.exe等).U盘的文件夹的图标有时会随着文件夹的移动而变样或者失效,有什么办法可以将文件夹图标换成自定义图标而不 ...
- u盘中的android文件夹图标不显示,个性化自己U盘里的文件夹图标不让其随着文件夹的移动而改变...
U盘里的文件夹图标总是那么几种,相信有不少朋友一定看腻了,想要个性化自己U盘里的文件夹图标,并且这些自定义的图标不会随着文件夹的移动而变样或失效.看起来还是个挺难完成的任务呢,不过跟着小编一起来操作, ...
- win7修改文件夹图标
花了好几天时间折腾了一下win7操作系统的文件夹图标, 今天终于弄好了, 写下来和大家分享一下. 方法一: 修改注册表 这个方法很简单, 但是局限也是很明显的: 首先,文件夹选项里面要选择" ...
- TortoiseSVN文件及文件夹图标不显示解决方法
我的系统是WIN10的,发现检出的文件或文件夹不现实图标,而图标在svn中的作用又非常重要,不同的图标代表着对该文件或文件夹进行的操作或操作的结果,所以没有了图标,我所进行的操作产生的结果就不知道.于 ...
- android u盘怎么打开文件夹图标不显示不出来了,如何解决U盘图标不显示但资源管理器中还能看到U盘...
症状描述: 1.插上u盘后,看不到u盘图标,但资源管理器那还能看到U盘,并且可以存取文件 2.u盘在别的机器上也可以用 3.在u盘盘符上点弹出,也弹不出,在控制面板-系统-硬件里u盘属性里点停止使用, ...
最新文章
- php中序列化与反序列化
- LaTeX 第五课:数学公式排版
- c 判断文件是否存在_C语言编程之怎样判断某一文件是否存在
- 记一次反馈,把钉钉客服聊跑了
- DM8168的McSPI/McASP/McBSP接口
- java中split以“.“ 、“\“、“|”分隔
- @PathVariable、@RequestParam、@RequestBody注解
- uni app input添加获取验证码按钮_FILEX | 如何在UniSwap挖到UNI?
- 你真的会用Jupyter吗?这里有7个进阶功能助你效率翻倍
- 《C Primer Plus》读书笔记
- 网页木马是什么原理?
- 在线URL解码还原工具
- FANUC机器人基础学习_示教器详解(图文)
- 96309245通讯异常工行_工商银行信息代码 96309245 是什么意思
- 家庭用计算机选购调查报告,【调查报告】计算机选购调查报告.doc
- java汉字笔画排序
- 2 PC 有它,你就够了!
- Python提取pcap文件中原始数据
- 【Linux】gcc/g++区别和联系
- 关于Rational Rose的使用(初学者)
热门文章
- Invalid param tag: Cannot load command parameter [robot_description]:
- 支付宝 自动发货 php,ecshop 支付宝自动发货接口
- 上海手机移动软件开发论坛_前智能手机开发人员的现代移动软件开发
- centos6.8安装db2expc11.1
- HDFS慢节点监控及处理
- 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。ubu
- 三面阿里,有惊无险成功拿到offer定级P7,只能说是真的难
- 对抗样本(论文解读八):Towards More Robust Adversarial Attack Against Real World Object Detectors
- UIUC说对抗样本出门会失效,被OpenAI怼回来了!
- 贪心算法——聪明的LJY