同一个图标文件,在不同手机上会被挑不同的那一份
换图标是改包里最"简单"的需求,也是返工率最高的一类。
常见的反馈有三种,都很具体:——"换了新图标,桌面上看着糊";"图标比旁边几个应用明显小一圈";"有的手机上正常,有的手机上发虚"。——三种反馈听起来像三个问题,实际上是同一件事的三种表现:这个包里的图标,本来就不止一张。
Android 应用里,一个图标通常不是一个文件,而是一组文件。——同一个 logo,会有好几种像素尺寸的副本,分别放在不同名字的目录里;系统在显示的时候,会按这台机器的屏幕"密度"去挑最合适的一份。——这个机制的好处是:小屏手机不用加载一张两三千像素的大图,大屏手机也不会把一张 48 像素的小图硬撑开。
而换图标的时候,如果你只替换了其中一份——或者挑错了那一份——后续的表现就完全由系统决定了。——它会在需要大图的时候,把那张小图拉大——拉大就糊;它也会在需要小图的时候,把那张大图缩小——缩小之后,边缘和细节会显得比旁边应用"软"一点。——而"比旁边小一圈"是第三种情况:那张图本身带了透明留白,铺进图标的可显示区域之后,中间的图形就变小了。
所以这篇要讲清三件事:密度是什么、一组图标该怎么挑、以及那些看起来像"玄学"的现象背后到底是什么。——讲清之后,你会发现图标这件事其实很确定:只要挑对了那张图,剩下的都是机械结果。
只需说话,就能让应用变成你想要的样子。而"变成想要的样子"在图标上有个前提:你说"换图标"的时候,程序得知道你要换的是哪一张——而它判断的依据,是包里那份清单,不是你电脑上那张图的文件名。
一、先把三种"糊"分开:它们是三个不同的原因
在动手之前,先分清你遇到的是哪一种。三种现象的处理方式完全不同,混在一起判断只会白折腾。
第一种:糊,而且怎么换都糊。——典型描述是"边缘发毛""像是被放大的"。——这种通常是"用了一张小图去顶大位置":系统需要的是一张 192 像素见方的图,而包里那一份只有 48 像素。——它会照用,然后放大四倍——而放大这件事,是没有细节可以补的。
第二种:不糊,但明显小一圈。——图标本身清晰,就是比旁边几个应用"缩着"。——这种通常是"图里留白太多":一张 512 见方的图,如果图形只占了中间 300,剩下的都是透明边——那铺进图标区域之后,可见的图形就只有六成大小。——而系统不会帮你裁掉那些边,它只会把整张图缩放到适应区域。
第三种:这台手机上好好的,那台手机上糊。——这种最能说明"一组图"的存在。——因为不同机器的屏幕密度不同,系统挑的副本也不同——如果你只替换了其中一两份,那些"没被替换"的档位就会继续用旧图(有时是原应用的图,有时是一张小尺寸的占位图)。——于是同一份包,在两台机器上看起来像两个应用。
三种现象对应三个动作:换更大的图、裁掉多余留白、把所有档位都换掉。——而这三个动作里,第三个最容易被漏掉——因为你在自己那台手机上看是对的,就以为都对了。
一个很小的验证技巧:把应用装到两台差别明显的机器上(一台老的小屏、一台新的大屏),并排放着看图标。——如果两台都清楚、大小也接近,那这套图基本是齐的;如果一台清楚一台糊,就是"缺档";如果两台都小,就是"留白太多"。——两台机器、两分钟,比在电脑上猜半小时有用。
二、密度是什么:一张表,解释所有"为什么这台不一样"
"密度"这个词听着抽象,可以这么理解:同样一块物理大小的屏幕,有的塞了更多像素,有的更少。——塞得多的那块屏,同一个图标想看起来一样大,就得用更多像素去画它。
Android 把这件事实标准化成了若干"档",每档有一个数字:
| 密度档 |
数值 |
桌面图标常见像素 |
大致对应什么机器 |
| ldpi |
120 |
36×36 |
现在基本见不到,但包里常有 |
| mdpi |
160 |
48×48 |
基准档,其余档都按它倍数算 |
| hdpi |
240 |
72×72 |
老一些的中端机 |
| xhdpi |
320 |
96×96 |
几年前的主流 |
| xxhdpi |
480 |
144×144 |
现在的主流 |
| xxxhdpi |
640 |
192×192 |
高分屏、部分旗舰 |
这张表解释了三件事。
第一,为什么"换了一张 1024 的大图"也可能糊。——因为你换的是你自己电脑上那个文件,而包里需要的是"被切成各档位的一份份副本"。——如果这一组副本没有被统一处理,系统仍然会去拿"它觉得合适的那一份"——而那一份可能还是旧的。
第二,为什么"看起来都换了,还是有机器不对"。——因为老包里的档位可能是不全的:有的应用只有 mdpi 和 xhdpi 两档,高档位靠系统拉伸。——你补了高档位,低档位还是旧的——于是老机器上看到的是旧图标。
第三,为什么图标尺寸总是 48 的倍数关系。——因为密度档本身就是倍数关系:160 是基准,240 是 1.5 倍,320 是 2 倍,480 是 3 倍,640 是 4 倍。——48×1.5=72,48×2=96,48×3=144,48×4=192——表里那列数字就是这么来的。
知道这张表的好处,不是让你自己去做切图,而是让你能看懂"包里到底有几份"。——解包之后看图标所在的那几个目录,目录名后面通常带着密度后缀(比如 -hdpi、-xxhdpi)——有几档、每档多少像素,一眼就能数出来。——而"数出来"这件事,能立刻回答那个最常被问的问题:为什么只有某台机器糊。
三、它挑图的时候,依据的是包里那份清单
这里要讲清一个关键点,因为它决定了很多"我明明换了却没变"的困惑:程序挑图,看的是包里的资源清单,不是你电脑上的文件夹。
导入一个包的时候,程序会先做一件事:把这个包的"身份信息"读出来——图标、应用名、包名、版本号、最低与目标系统版本、启动页。——这些信息不是靠猜文件名,而是靠读包里的资源清单——清单里记着"这个应用名叫什么、图标对应哪几个资源"。}——读完之后,界面上显示的那个图标,就是从包里取出来的原图,而且是按"最高密度"挑的那一份。
"按最高密度挑"这句话值得停一下。——因为包里通常有好几份,程序要做的是"挑最清楚的那一份"来展示和替换——这样你换上去的图,尺寸是够的,不会出现"新图还不如旧图清楚"的尴尬。——而这件事做对的前提,是"能正确判断哪一档最高"。
这里有一个非常容易踩的坑:清单里会出现一个特殊数值。——它长得比所有正常档位都大,但它的含义不是"最高密度",而是"任意密度"——意思是"这份资源不挑机器,哪台都能用"。——如果把它当成"最大的那一档"来挑,结果就是:挑到一张本来给低密度用的小图,然后拿它去顶高密度的位置。——表现就是——糊。
所以"挑最高密度"这件事,正确的做法是:只认那些正常的密度档,把"任意密度"这个哨兵值排除在外。——这个细节很小,但它是"新图标糊了"这个问题里最常见的机械原因之一——因为它不报错、不提示,只是安静地挑错一张图。——而你要做的判断很简单:如果界面上显示的那个"当前图标"本身就不够清楚,那说明挑图这一步就没挑对。
四、自适应图标:为什么有的应用图标是"两层"的
从某代系统开始,Android 引入了一种新的图标形式:图标不再是一张图,而是"前景 + 背景"两层。——系统拿到这两层之后,自己套一个形状上去——圆形、方形圆角、水滴形都行,取决于这台机器的桌面怎么定义。
这个机制解决了一个老问题:——以前每个应用的图标都是"自带形状"的,有的圆、有的方、有的带白边,摆在一起很乱;现在系统统一套形状,视觉就齐了。——但它也给"换图标"带来一个新的坑:如果这个应用用的是两层图标,而你只换了一张扁平的图,会发生什么?
结果是三种可能,取决于包里的配置怎么写:——第一种,新图被当成"整张图标"用,系统不再套形状——于是它在一排圆角图标里显得方头方脑;——第二种,新图被塞进"前景"层,背景还是原来的——于是你看到的是"新 logo 叠在旧底色上";——第三种,替换没生效——因为配置里指向的是另一套资源,你换的那一份根本没人用。
三种结果都不是"糊",但都不是你要的。——所以换图标之前,有一句话值得先问:这个应用原来的图标,是一张图还是两层?——判断方法很朴素:把它装到手机上看,如果图标被系统套成了圆形或圆角方形,而且边缘是干净的,那大概率是两层结构;如果图标自己带着一个明确的外形(比如一个带白边的方形),那可能是一张扁平图。
知道这一点之后,需求写法就不一样了。——如果原来是两层,写法应该是"把前景层换成新 logo,背景保持原来的品牌色,保留系统的圆角遮罩";如果原来是一张扁平图,写法是"整张图标换成新图,图形居中,四角留出安全边距"。——两句话的差别,决定了你看到的是"融进这一排图标"还是"多出来一个异类"。
了解原来有几个部分,才知道该换哪一部分
还有一个跟"安全边距"有关的小知识,能解释"为什么我的图标被切掉了一角"。——两层图标在套遮罩的时候,系统只会显示中间那一块"安全区"——你把图形画到了边缘,套上圆形遮罩之后,四个角就被切掉了。——所以正确做法是:图形画在中间大约三分之二的区域里,四周留白——而这个留白不是"浪费",它是留给遮罩的。——这也解释了前面那个"看起来小一圈"的现象的另一半原因:留白太多会小,留白太少会被切,中间那个区间才是对的。
五、换图标的四步:从备图到验机
把前面几节收成一套可执行的动作。四步,每一步都有一个明确的"做完是什么样"。
第一步:备一张"足够大、形状干净"的图。——够大是指边长不小于高档位需要的像素(192 见方只是显示尺寸,实际备图建议直接上 512 或 1024);形状干净是指"图形占满画面、四角没有多余透明边"。——做完的样子:把这张图单独打开,缩到 48 像素看——如果这时候还认得出是什么,说明细节没有过密,缩小之后不会糊成一团。
第二步:确认包里原来有几份、是几张图。——这一步不需要工具,只需要看界面:导入之后详情页显示的那个图标,就是程序按最高密度挑出来的那一份。——如果它看起来已经发虚,说明挑图这一步有问题(前面讲的"任意密度"哨兵值就是常见原因);如果它清楚,说明基准是好的。——做完的样子:你能说清"原来是两层还是一张"。
第三步:一句话说清"换哪一层、要不要遮罩、留多少边"。——三种写法对应三种情况,前面已经给过。——这里补一条经验:如果你的图是"满幅无留白"的,一定要加一句"四角留出安全边距,不要贴边"——否则在圆形遮罩下必被切。——做完的样子:需求那句话里,能数出三个以上的约束条件。
第四步:装两台机器看,并排放。——一台老的小屏、一台新的大屏。——看三件事:清不清楚(糊不糊)、大小是不是一个量级(跟旁边的系统应用比)、形状有没有融进这一排(有没有方头方脑)。——做完的样子:两台机器上,图标都"像是这台机器原生带的"。
四步里最容易被跳过的是第二步和第四步——因为它们不像"做事",像"检查"。——而这两步恰恰是图标这件事里成本最低、收益最直接的部分:不确认"原来有几份",第三步就写不对;不装两台机器,你就不知道有没有缺档。——而缺档这件事,在自己那台新手机上是永远看不出来的。
六、"界面里显示不出来"和图本身有没有问题,是两件事
有一种情况会让很多人误判:导入之后,详情页上那个图标位置显示的不是图,而是一个"文字头像"——就是应用名的头一两个字,配一个底色。
看到这个,第一反应往往是"图标没读到,这个包有问题"。——而实际情况通常是另一回事:这张图标用的是一种比较新的图片格式,而当前环境里缺了对应的解码能力——于是界面选择了一个"退路":不显示图,显示文字头像。
关键在于:原图仍然被完整地保存下来了。——也就是说,界面显示不出来,不等于这个图丢了、坏了、或者读不到——它只是"没法在界面上预览"。——这个区分非常重要,因为两种情况的处理完全不同:如果图真的丢了,你得重新导入;如果只是预览不了,你应该继续往下做,别在这里反复折腾。
那怎么确认它到底有没有被存下来?——三个办法,从轻到重:——第一,看项目目录里的东西齐不齐(配置在不在、源包在不在)——齐,说明解析这一步是成功的;——第二,换个方式看这张图——把项目里那张原图用系统自带的看图工具打开试试;——第三,最直接:先按"换图标"做一轮,装到手机上看看新图标在不在——在,就说明前面那条链路是通的。
这一类"界面表现和实际状态不一致"的情况,在改包这件事里还有几个亲戚,值得一并记住:——预览小、实际不小(界面里的缩略图按固定尺寸画,跟真实像素无关);预览清楚、装上糊(挑档问题);预览是旧的、包里是新的(缓存)。——它们的共同启发是:不要用"界面上的样子"当唯一判断依据,界面只是给你一个大概,真正的判断要装到机器上去做。
顺带说一句反过来的风险:既然界面可能显示不出来,那么"我看界面没问题"也不能证明"图一定对"。——所以图标这件事的最后一道关,永远是那台真机——而这也是为什么前面那四步里,第四步不能省。
一个实用的心态调整:把"界面显示不出来"当成"信息不足",而不是"出错了"。——信息不足的时候,正确的动作是"去找信息"(看目录、看真机),而不是"反复重试同一个动作"。——改包这件事里,大部分时间浪费在"重试"上——而重试之所以无效,往往是因为根本没确认问题在哪一层。
七、两个自家应用:一个"留白太多",一个"缺档"
下面两个实例都来自我们自己有权修改的项目。它们是两种最常见的图标问题,处理方式完全不同。
实例一:内部考勤应用,新 logo 换上之后"缩着"。
以前怎么做:——设计给的新 logo 是一张 1024 见方的图,图形(一个圆形徽标 + 一行小字)占中间大约七成,四周是透明边。——我们直接把它当图标换上去,装上去一看:清楚是清楚的,但比旁边几个应用明显小一圈,而且那行小字几乎看不清。——第一反应是"图太小",于是换了更大的一张——结果一模一样,因为问题不在像素多少,在那七成的占比。
看起来的样子:——图标区域是固定大小的,系统把整张图(包括透明边)缩放到这个区域里——于是可见图形只有区域的七成,剩下三成是空的。——而"小字看不清"是同一个原因的第二层:字本来就只有几像素高,再缩七成,就糊成一条。
现在一句话怎么做:——现在遇到"设计稿带留白"的图,第一步不是换,是处理图:把透明边裁掉,让图形占满画布,然后一句话写:"图标换成这张,图形铺满画布,四角留出一点安全边距,那行小字不要保留。"——这句话里三件事:铺满(治"小一圈")、留边(治"被遮罩切角")、去掉小字(治"糊成一条")。
改完怎么验证:——三步。——第一,把新图标和旁边两个系统应用并排放在桌面上,退后一步看——只看"大小是不是一个量级";——第二,点开图标进应用——如果桌面是圆角遮罩,确认四个角没有被切掉;——第三,把桌面图标缩小看(有些桌面支持调整图标大小)——缩小之后图形还认得出,说明细节密度合适。
实例二:车间巡检应用,只有老平板上的图标没变。
以前怎么做:——这个应用换了一次图标,我们在自己手机上看了,是新的,就发出去了。——结果车间反馈:"有几台旧平板上的图标还是老的。"——当时的第一判断是"是不是没装上"——查了半天,发现装的是新版,但图标确实没变。——原因在后来才弄明白:这个包里的图标档位不全,只有中低两档是高分辨率的,再往上的档位是一张很小的占位图——而那几台旧平板的密度恰好落在"高分辨率那两档"上,新手机落在别的档上。
现在一句话怎么做:——现在这类"要铺到一批不同机器上"的图标改动,需求里会加一句:"所有密度档位都用新图标,不要保留任何一档旧图,缺的档位按最大图缩下去。"——"不要保留任何一档旧图"这句话是关键——因为默认行为有时是"只换主档",剩下的沿用原样。
改完怎么验证:——拿那台"最容易出问题"的旧平板——就是上一次没变的那台——单独装一遍。——如果它变了,这一批基本都变了;如果它还是旧的,说明档位仍然没补齐。——这个做法的逻辑是"用最苛刻的那台当试纸"——比"随机抽一台看看"可靠得多。——而当你不知道哪台最苛刻时,就选最老的那台。
八、六个关于图标的具体问题
问一:直接给一张 1024 的 png 就行了吗?
作为"原图"是可以的,但要交代两件事:形状和边距。——1024 的图足够清楚,问题是它"多大程度上被铺满"——如果是满幅的图形,直接换上去很合适;如果四周有透明边,就必须先裁或者明确说"裁掉留白再放"。——另一个要交代的是底色:透明底的 logo 放到深色桌面上会看不清,这时候你要么给它加一个浅色圆底,要么明确说"用品牌色做背景"。——一句话总结:给大图是对的,但"大"解决不了"比例"和"底色"这两件事。
问二:图标为什么要留边距?
因为遮罩会切。——很多机器的桌面会把图标裁成圆形或者圆角方形——裁的时候不看你的图形在哪,只看"安全区"。——图形贴到了边上,四个角就会被切掉一块;而如果你的图形是文字或者细节,被切掉的那部分往往正好是最容易被注意到的。——所以留边距不是"保守",是"给遮罩留出它要用的空间"。——经验值:图形控制在画面中间三分之二左右的范围内,四周留白——这个比例在圆形遮罩下基本安全。
问三:为什么图标里的字总是看不清?
因为图标最终显示出来只有几十像素。——桌面图标在高分屏上也不过一百多像素,而一行字如果只占图标的五分之一高度,那它最终只有二三十像素高——这个尺寸下,笔画之间会粘在一起。——所以图标里"带字"这件事,只在小字很少、笔画很粗的时候才成立。——更稳的做法是:图标只放图形(一个辨识度高的符号),把名字交给应用名去承担——因为应用名本来就显示在图标下面。
问四:换完图标,为什么"有的地方还是旧的"?
因为一个应用里"露脸"的地方不止一个。——桌面图标是一个,启动页里的 logo 是一个,"关于"页里的那行小字是一个,有时候通知栏的小图标也是一个。——它们各自对应不同的资源——换桌面图标,不会连带换掉启动页里那张。——所以"整套视觉更新"这类需求,第一句话应该说清"要换哪几处",而不是只说"换 logo"。——而这也是为什么"一次附三张图、分别写位置"比"分三次换"更省事:你在一轮里就把四处的关系想清楚了。
问五:老机器上的图标能和新机器完全一样吗?
形状可以一样,但"看起来一模一样"很难。——因为老系统的桌面可能不套遮罩、可能按老规则裁切、可能不支持两层图标。——务实的目标不是"像素级一致",是"一眼看上去是同一个应用":同一套图形、同一个主色、同一个大小量级。——而如果某台老机器上连大小都差很多,那不是"图标没做好",是那一档的资源缺失——补档比调形状有效。
问六:图标这事值得花多少时间?
第一轮值得多花一点,之后每轮几乎不花时间。——因为图标是"一次做对、长期复用"的东西:把那张处理干净的母图存好(裁掉留白、控制好边距、备好几个尺寸),以后每次换只改颜色或者图形,五分钟的事。——而如果每轮都从设计给的原始文件开始处理,你每次都要重新判断一遍"留白要不要裁、字要不要留"——七次之后,你会开始偷懒,然后某一轮的图标就又小了一圈。——这就是"母图"的价值:它把判断力沉淀成了文件。
问七:同一张图,能同时用作桌面图标和启动页吗?
技术上可以,视觉上通常不合适。——桌面图标是"被裁成形状的一小块",启动页是"铺满整屏的一大块"——两者对同一张图的要求完全相反:前者要图形居中、四周留白,后者要画面满幅、四边延展。——把桌面图标那张拿来当启动页,屏幕中间会出现一个小 logo 加四周大片空白;把启动页那张拿来当图标,中间的主体常常偏小。——所以正确的做法不是"一张图走天下",是"同一套视觉、两种构图"——这也是为什么"整套视觉更新"这类需求,附的图应该是两三张而不是一张。
问八:为什么有的应用图标装上去"没有变化",但打开一看里面是新的?
因为桌面有缓存。——很多桌面会把图标缓存起来,装完新版本之后不会立刻重新读——它显示的还是上一次记下来的那张。——这时候"图标没换"其实是一个观察误差,不是改动没生效。——验证方式很简单:重启一下手机,或者换个桌面看看,或者干脆卸载重装一次——如果这时候图标变了,说明改动是成功的,之前只是缓存没刷。——而这条也提醒一件事:验收图标时,先排除"缓存"这个可能,再去怀疑"是不是没换对"——顺序反了,你会去改一个本来就对的东西。
问九:能不能只给我一张"高清大图",让程序自己去缩?
这是最省事、也最推荐的做法——但前提是"那张图本身是干净的"。——一张裁好留白、图形居中、边距合适的母图,缩到各个档位都成立;而一张留白没处理的大图,缩到哪一档都会"小一圈"。——所以真正的关键不是"给不给大图",是"给的是不是处理过的图"。——换句话说:让程序去缩是省力,让程序去猜你的构图意图是不可能的——构图这件事,永远得在图里先说清。
九、三步对照实验:三分钟确定问题在哪一层
自查表能帮你判断"大概是哪一类",但有些情况下两类现象会同时出现——比如"糊"和"小一圈"一起发生。
这时候别猜,做对照实验。原理很简单:一次只改一个变量,看结果有没有变。——三分钟就能做完,比对着现象描述反复琢磨可靠得多。
第一步:固定"机器"这个变量。——只在一台机器上看,别换机。——因为换机就同时改了密度这个变量,你就分不清是"改对了"还是"机器本来就这样"。——挑一台你手边最常用的机器,整轮验证都在这台上做。
第二步:固定"图"这个变量,只改"说法"。——用同一张图,分别用两种写法各做一轮:第一轮只说"换图标",第二轮说"换图标,图形铺满画布,四角留安全边距,不要保留任何一档旧图"。——然后对比两轮的结果。——如果第二轮明显更好,说明问题在"说法"——你之前的需求缺了约束;如果两轮一模一样,说明问题在"图"——那张图本身就需要处理。
第三步:固定"说法",只改"图"。——还是同样的说法,换一张处理过的图(裁掉留白、控制边距)。——如果结果变了,说明图是关键;如果还是老样子,那就要往下一层看:是不是这个包里的图标配置指向了别的资源——也就是"你以为换的那一处,其实没被使用"。
先固定机器,再分别试"说法"和"图"
这套方法的通用价值,远不止图标。——改包这个活里几乎所有"改了没效果"的困惑,都可以用"一次只改一个变量"来拆——文字没变,是改的那处没被使用,还是缓存?颜色不对,是色值算错,还是那处有叠加了半透明?弹窗没出来,是条件没满足,还是被别的东西盖住了?——把变量拆开,每个困惑都会变成一个可以回答的问题。
而"猜"之所以不划算,不是因为它一定错,是因为它没法积累。——猜对了一次,你不知道为什么对;猜错了,你也不知道错在哪——下一次遇到同一个现象,你还是从零开始。——而做过三次对照实验之后,你会有一条自己的判断路径:先看什么、再看什么——那才是真正学到的部分。
十、一张自查表:图标出问题时按这个顺序看
下面是"图标不对"这件事的分诊表。从上往下走,找到第一条对得上的,就在那一行停下——不要跳着看,因为很多现象看起来像后面的问题,实际是前面的问题。
| 现象 |
最可能的原因 |
先做什么 |
| 图标位置显示的是文字头像 |
图片格式缺解码,界面走了退路 |
别重试;直接做一轮装上真机看 |
| 所有机器上都糊 |
用了小图顶大位置,或挑档挑错 |
换一张更大的母图,重新换一次 |
| 清楚但明显小一圈 |
图里透明留白太多 |
裁掉留白,让图形铺满画布 |
| 四个角被切掉一块 |
图形贴边,被遮罩裁了 |
加安全边距,图形收到中间 |
| 只有某几台是旧图标 |
密度档位没补全 |
要求所有档位都换,缺档按最大图缩 |
| 桌面换了,启动页还是旧 logo |
两处是不同资源,只换了一处 |
一次附多张图,分别写清位置 |
这张表最有用的是第一行。——因为它是最容易误判的一种:界面不显示图,人会本能地认为"导入失败",于是反复重导、换文件格式、换文件名——而实际上这一步已经成功了。——"别重试,先装上真机看"这句话,能省掉的往往不是几分钟,而是一整轮白折腾带来的自我怀疑。
十一、整套视觉更新:要走完的四处,和它们的顺序
实际工作里,"换图标"很少单纯只换图标。公司换 logo、品牌改色,往往一次要动四处:桌面图标、启动页、应用名、以及"关于"页里的那行版本说明。
四处里,只有"应用名"不是图。——它是一行文本资源,改起来最轻,但影响面最大:桌面图标下面显示的字、设置里的应用名、任务切换界面里的标签,都是它。——很多人把它放在最后改,结果出现"图标换了、名字还是旧的"——而这个名字恰恰是用户每天看得最多的那一处。
四处之间的依赖关系值得说清,因为它决定了顺序:——桌面图标是"入口",启动页是"第一印象",应用名是"标签",关于页是"身份说明"。——推荐顺序是:先图标(最容易被挑档问题绊住,早点暴露)、再启动页(涉及裁切和比例,第二轮验证)、再应用名(文本,改完立刻能看到)、最后关于页(最不影响使用,收尾时补)。——而四步不必分成四轮——如果素材齐全,一次全换更省事,因为"一套视觉"本来就是一体的。
一次全换的写法,值得给一个完整的例子:——"这一轮只做视觉替换,功能一处不动。桌面图标用 1 号图,图形铺满画布、四角留安全边距、所有密度档位都换;启动页用 2 号图,铺满整屏、居中裁切、不要拉伸;应用名改成某某助手;关于页那行说明改成新的公司名。除这四处之外,别的地方不要改。"
这段话里有四个"约束点",值得注意:——"这一轮只做视觉替换"限定了范围,防止顺手把别的也改了;"所有密度档位都换"防缺档;"不要拉伸"防变形;"除这四处之外不要改"是给下一轮的自己留一个干净的对比基线。——最后这一句特别有用:改完之后如果发现某个不相干的地方也变了,你立刻知道那不是你要的。
四处改完,验证也按四处走,而且要用"并排"的方式看。——图标跟系统应用并排;启动页跟旧版本的截图并排;应用名跟设置里的显示对一遍;关于页翻到底看那一行。——并排的价值在于:单看"新的是什么样"你判断不了对错,只有跟"应该长什么样"放在一起,对错才显形。
最后补一个很实际的提醒:整套视觉更新的活,最好安排在你不需要赶时间的时候做。——因为它涉及"四处、多档、两台机器验证",一旦时间紧,人就会只验自己手上那台——而恰恰是那台最不容易暴露问题。——而这类活的时间成本又特别难估:顺利的时候半小时,遇到缺档就要重打一轮。——所以保守的排法是先按"一小时"给它,多出来的时间当余量——比按半小时排、然后一路被追着问进度要舒服得多。
十二、图标这件事,其实是"边界感"的练习
把这篇收一下。图标看起来是最小的一处改动,但它把改包这件事的几个基本规律都演了一遍。
规律一:你改的不是一个文件,是一组资源。——一个图标背后有好几份副本,一处"换图标"实际是"换一组"。——这个规律在别的地方也一样:一句话需求背后,往往对应着好几个文件、好几处配置——想清楚"这一组到底包含什么",比想清楚"那句话怎么说"更重要。
规律二:默认行为是"填满",而设计意图经常是"留白"。——系统会把图铺进给定的区域;而你的设计稿里,那些白边是有意义的。——两者不沟通的时候,白边就被吃掉了——而"留白被吃掉"这件事,在图标上表现为"小一圈",在页面上表现为"挤在一起",本质是同一个。——所以凡是涉及"位置和大小"的需求,都要把"留多少"说出来。
规律三:界面只是参考,真机才算验收。——预览尺寸、预览格式、预览缓存,每一样都可能让"你看到的样子"和"真实的样子"不一样。——而这件事不只对图标成立:字号、间距、颜色、滚动行为——所有视觉相关的东西,最终都得在那台机器上确认。——这也是为什么"装机确认"在整条链路里永远是最后一步,而不是可选项。
规律四,也是最容易被低估的一条:图标是"每天被看几十次"的那一处。——一个功能做得好不好,用户可能一周才用到一次;而图标他一天要扫过去十几次。——所以这处改动"值不值得认真",答案是值得——但它的认真不体现在审美上,体现在"经不经得起反复看":糊、小、被切角,这三种问题第一次看也许能忍,第十次看就会变成"这个应用好像不太行"。——而"不太行"这三个字,是不会有人来告诉你的。
也正因为如此,图标这件事的正确投入方式不是"多改几版",而是"一次做干净"。——把母图处理好、把四处一起换、把档位补全——然后就不用再想它了。——剩下所有的时间,都该花在那些"用户一年才遇到一次但遇到就很急"的地方。
只需说话,就能让应用变成你想要的样子。而在图标这件事上,"想要的样子"有一个很具体的翻译:它得在这一排图标里,看起来像本来就属于这里。
安卓修改大师智改工坊的产品页在 https://www.apkeditor.cn/ai-version.aspx,官网是 www.apkeditor.cn。它在图标这件事上做的正是"挑对那一份":导入时用工具链里的资源解析器读包,图标从包里取原图、按最高密度挑,把"任意密度"那种哨兵值排除在外;预览显示不出来时也不会把图丢掉,原图照存。——你要做的判断只剩一个:这张图,形状和边距对不对。
先分清是"挑错了"还是"图本身不对"
十三、用过的人怎么说
"我最早以为'换图标'就是换一张图。后来发现设计给的图四周有一大圈透明边,铺上去小一圈。裁掉留白再换,一次就对。现在我给设计要图,第一句就说'图形占满画布,别留透明边'。"
—— 阿凯 · 小型软件工作室负责人
"车间那批旧平板最坑:新手机上图标是新的,就那几台没变。查了半天不是没装上,是档位不全。现在我改图标一定会说'所有档位都换,不要留旧图'。"
—— 陈工 · 制造企业信息化主管
"图标里带一行小字,是我踩过最久的坑。缩到桌面尺寸根本认不出来,像糊了一块。后来把字去掉,只留图形,辨识度反而高了——反正应用名就写在图标下面。"
—— 小唐 · 独立开发者
"第一次看到图标位置显示成文字头像,我以为包坏了,重导了三次。后来才知道是格式解码的问题,图其实好好地在包里。现在遇到这个我直接装一台真机看。"
—— 小林 · 电商公司内容负责人
"我现在会备一张'母图':裁好留白、控制好边距、几个尺寸都导好。以后换图标就是换颜色,五分钟。以前每次都从设计原始文件开始,每轮都要重新纠结一次留白。"
—— 老周 · 做了十几年运维
合规提醒
本文讨论的所有改动,都应在自己拥有版权、或已获得权利人明确授权的应用上进行。请勿用于破解他人软件、绕过授权验证、去除版权标识或任何侵犯他人权益的用途。文中提到的自家应用实例,均为我们有权修改的项目。另外提醒:图标素材本身也有版权——不要拿别人家的 logo、字体或插画当自己的图标;用第三方图标库时,也要看清授权范围。改包工具本身是中性的,用它做什么,责任在使用者。
安卓修改大师智改工坊
让新图标在这一排里不显突兀
导入 → 一句话描述 → 打包 → 装机确认,四步走完
官网 www.apkeditor.cn
立即下载智改工坊(AI 版)
支持 apk / apks / xapk / apkm 等包型 · Windows 桌面端