
1打开android studio
2找到项目中,app的AndroidManifestxml文件
3找到icon标签
这里的icon_screen就是图标的名称,下面我们找到项目中的res-drawable-icon_screenpng
这里就是图标的。
4然后在上右键,show in explorer,在本地文件中打开
5然后将你的新图标,改成相同的名字,覆盖掉这个就ok了。
这个还有可能出现在 drawable-hdpi、drawable-mdpi、drawable-xxhdpi、drawable-xxxhdpi中,我这里没有用到,你们用到了就可以一一的覆盖。这几个就是分辨率不同,依次分辨率增大的。
修改app的名字,也是在app的AndroidMainfestxml中找到app的名字,修改掉就可以了。
参考: Android开发使用mipmap文件夹的正确姿势: px 、dpi 、dp
Android应用图标微技巧,80系统中应用图标的适配
测试的在华为手机Android 90系统中,但是在切换 targetSdkVersion 大于26和小于26的时候,并没有对图标进行原型切换,26前后对应的图标形状一样。可能是华为对这部分源码进行了修改,将mask层修改为圆角矩形。
mipmap 中的文件夹分别为
新创建的项目都会有这几个文件夹,那么这几个文件夹是怎样的呢?内部的规则是什么呢?都是怎样对应的呢?
讲解这些之前我们需要知道我们平常见到的一些尺寸单位的关系:
px (像素点)和 dpi (像素单位密度)之间的换算公式是:
px,dpi 和 dp 之间关系:
上边一些尺寸的基础知识,感觉很乱啊。。。
接下来就将一下 mipmap 下边几个文件夹的关系 表1-1:
上边 dp 对应 px 的比值我起名为 (luffy) 。
我们在开发的过程中,对的展示通常就两种:固定宽高,不固定宽高。
固定宽高会遇到的问题是放置的可能会模糊;不固定宽高可能就会和自己想要的尺寸不一样了。
我现在以不固定宽高的来说,比如给一个 TextView 设置 dropLeft ,这样就不能设置宽高,那么 ui 给的我到底该放置到哪个 dpi 文件夹里边才合适呢。因为我开发的是特定机器上的 app ,所以只需要一个 mipmap 文件夹就行了。
我现在将一张 32 32 的分别放到这六个文件夹里边,不固定尺寸的显示,并通过 方法 获取的宽高,测试机器的 dpi 是 480 。
记住两个数据:尺寸是 32 32 ;测试机是 480dpi 。
结果如下 表1-2:
结果是同一张放到不同的文件夹中,显示的尺寸是不一样的,因为测试机是 480dpi ,对应的本命 mipmap 文件夹是 mipmap-xxhdpi ,所以这个文件夹中的在这个测试机上都会原尺寸显示。其他的文件夹中的都会根据1-2表格中的 dp 和px的换算比例进行换算。比如,1-2表中 mipmap-xxhdpi 对应的 luffy 是 3 , mipmap-hdpi 的 luffy 值是 15 ,如果我们将 32 32 的放到 mipmap-hdpi 文件夹中,其他文件夹中不放置,软件展示的时候就会获取 mipmap-hdpi 文件夹中的,显示的效果我们知道是 64 64 ,再看对应着刚说的 luffy 值,是不是看出点什么好像不同文件夹中的显示的效果和luffy值有关啊。
比如 ,当将放置到mipmap-hdpi 文件夹中:
那么如果我们想不管从哪个文件夹获取,展示的都是 3232 ,那好说啊,按照这个公式,获取不同文件夹中需要放置的尺寸。比如 mipmap-hdpi 放置 16 16 的,就可以在我的测试机上展示 32 32 的效果了。
我上边一直说的展示尺寸都是 px ,那么在不同的机器上同时展示 32 32 的效果,根据上边的公式可以实现,但是展示的效果肯定各不相同。
上边的需求是我在做特定机器时,只有一种分辨率,一种 dpi ,那我想把所有 mipmap 文件夹都塞满,而且展示的效果都一样,就需要上边的公式。
当手机上不同的机器,不同的 dpi 展示同一种效果时,也就是占用屏幕相同的比例时,那表示这个效果的值就是 dp ,相同的 dp 在不同的机器上展示的效果基本相同,比如我想在 480dpi 的机器上展示的效果要和 320dpi 一样,那就需要它们展示的 dp 一样,我们展示一个 32dp32dp 的。根据公式: px=dp(dpi/160) 可以得到 32 luffy=px ;那么 480dpi 对应的 luffy 值是 3 ,所以 480dpi 对应的 mipmap 中的尺寸是 96px 96px , 320dpi 对应的 mipmap 中的尺寸是 64 64 。
要在不同的机器上展示 32dp32dp 的一张表格展示: 1-3
其他 dp 的都可以按照这个规则展示。
当合适的 mipmap 文件夹中没有对应的的时候,会优先往高的找,会优先找最近的
/packages/apps/Launcher/res/xml/default_workspacexml中记录了系统初始化或者恢复出厂设置时桌面上图标的排列。Launcher程序第一次运行完毕以后,会在/data/data/comandroidlauncher/databases/launcherdb中创建记录,里面有所有当前的桌面图标。以后每次启动只会从这里读取桌面图标。
下面简单分析一下default_workspacexml:
default_workspacexml中,支持的标签有:
favorite:应用程序快捷方式。
shortcut:链接,如网址,本地磁盘路径等。
search:搜索框。
clock:桌面上的钟表Widget
支持的属性有:
launcher:title,图标下面的文字,目前只支持引用,不能直接书写字符串。
launcher:icon,图标引用。
launcher:uri,链接地址。
launcher:packageName,应用程序的包名。
launcher:className,应用程序的启动类名。
launcher:screen,图标所在的屏幕编号。
launcher:x,图标在横向排列上的序号。
launcher:y,图标在纵向排列上的序号。
LauncherProviderjava里面的loadFavorites方法负责解析。
应用程序的写法,default_workspacexml中有很多,对链接的写法却没有,我分析了一下它的解析程序,反向做出了链接快捷方式的写法,已经验证成功,希望可以帮到大家。
launcher:title="@string/aaa"
launcher:icon="@drawable/aaa"
launcher:uri=">
可以按照如下方式 *** 作:
1、打开apk编辑器。
2、点击第一个选择项。
3、找到想要改的软件(以百度网盘为例子)。
4、选择第三个常用编辑。
5、我们可以改图标,改名字。
6、找到相要改为的图标。
7、期间我们要把原来的百度网盘卸载掉(会冲突)。
8、正在保存。
9、ok点击安装,大功告成。
1、APK是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。
2、apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVM executes的简称,即Android Dalvik执行程序。
3、Java ME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别。
以上就是关于android修改app图标全部的内容,包括:android修改app图标、Android 项目中软件图标适配和mipmap文件夹的规则、如何修改Android系统内置的桌面图标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)