关于android应用图标在部分手机显示白色背景的探索
很长一段没有写博客了,也许是因为懒,也许是因为我不大喜欢搞技术的。是这样的,我对自己很有信心,很想在销售行业大展手脚,只是我老婆不大认同我做销售。我呢,是一个非常爱我老婆的,很听我老婆的话,我不会容许我自己去伤害我老婆,更不容许有人欺负我老婆。老婆的顾虑是:我是块做技术的料,另外原本我就是油嘴滑舌,做销售容易变坏,而做技术,会让人觉得更有安全感,所以她强烈要求我专研技术模块。
好了,简单介绍一下我们公司的情况,我们公司是专研会员系统的。根据公司领导的光明带领下,我们开发出了新一代会员系统以及移动端app“惠员”。前几天,也就是2016年8月30号,我们公司副总经理张总一早来公司,就拿着他新买的手机(原本用的是小米手机,前几天刚买了一个华为荣耀手机)过来给我看,说发现了一个小问题:惠员安装在张总的手机上,图标显示有一些白色的背景。并说这个不是严重的问题,可以在不忙的时候解决它。我感到非常的奇怪,之前我很多手机上安装了我们的惠员,但是从来都是没有白色的背景的,安装后用户体验上都是非常好的,并且我也很自信,因为我基本上都是根据UI给我的图标放到对应的分辨率资源上的,然而跑到了张总手机上却有白色背景,另外让我觉得非常惊讶的是,其他app安装到他手机上的都不存在这样的问题(比如京东)。
今天,终于等到了不忙,就来研究了一下关于android应用程序图标的显示问题。于是,我就开始了我的探索实验。
实验思路:
1.探索不同分辨率的手机应用程序读取图片的资源位置及同一手机分别读取同名的不同图片资源
2.探索京东是如何做到适配所有屏幕的实验一:
1.整理图片资源
2.配置app图标好了,根据思路1进行实验,我分别选择了不同的图片资源,统一命名为logo,分别放到指定的资源路径下
整理图片资源:
![图1](https://img-blog.csdn.net/20160902094914793)mipmap-hdpi下对应图片:
![图2](https://img-blog.csdn.net/20160902092938651)
mipmap-mdpi下对应图片:
![图3](https://img-blog.csdn.net/20160902093059715)
mipmap-xhdpi下对应图片:
![图4](https://img-blog.csdn.net/20160902093140111)
mipmap-xxhdpi下对应图片:
![图5](https://img-blog.csdn.net/20160902093236810)
mipmap-xxxhdpi下对应图片:
![图6](https://img-blog.csdn.net/20160902093313487)说明:图1就是图片资源放置的结构图,图2、图3、图4、图5分别是图1下对应路径存放的图片配置app图标:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.h.myapplication" ><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><application
android:allowBackup="true"android:icon="@mipmap/logo"android:label="@string/app_name"android:theme="@style/AppTheme" ><activity
android:name=".MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>
好了,实验一主要步骤弄好了,我分别使用了屏幕分辨率为720x1280和1080x1920的手机进行了测试,测试结果如下:
720x1280手机:安装后显示的图标是图4
1080x1920手机:安装后显示的图标是图5
这样的结果当然是意料之中的,因为对应的资源文件本来就是对应着这些分辨率的手机的。于是我又进行了进一步实验,让手机不变,图片变。
我用720x1280的手机来测试,然后把mipmap-xhdpi下的logo图片删除,也就是mipmap-xhdpi下没有图片了。这时运行安装后,图标显示的是mipmap-xxhdpi下的图片,即图5。如果把mipmap-xxhdpi下的logo删除,运行安装,最后显示的是mipmap-xxxhdpi下的图片,即图6。如果把mipmap-xxhdpi下的logo删除,运行安装,最后显示的是mipmap-hdpi下的图片,即图2。如果把mipmap-hdpi下的logo删除,运行安装,最后显示的是mipmap-mdpi下的图片,即图3。
由此实验结果,可以得出一个结论:
android应用程序读取图片资源时,会优先读取当前手机屏幕分辨率对应的图片资源,如果该分辨率对应图片资源不存在,则会优先读取高一级(大于当前分辨率图片资源)的同名图片资源,如果该图片资源仍然不存在,继续往高级读取同名图片资源,如果高级也都不存在,则会优先读取低一级(小于当前分辨率)的同名图片资源,如果低一级图片资源也不存在,则继续读取更低一级同名图片资源,直到发现同名图片资源为止。
好了,到这里,我们已经完成了android应用程序图标读取图片资源的探索,实际上通过探索发现android应用程序读取图片资源也是跟图标读取资源是一样的。但到目前为止,似乎还是无法解决应用程序安装到张总手机上后,会出现的白色背景的问题。于是继续探索实验二
实验二:反编译京东apk,获取其图片资源进行测试
根据实验二的思路,于是我从网上下载了京东的apk,对其进行了反编译apk,找到了对应的res文件夹,最终找到了各种屏幕分辨率对应的图片资源,然后我就把这些图片资源分别copy到我的项目中对应的位置,运行安装到张总的手机上,神奇的发现,图标白色背景消失了。这说明了什么问题?说明了京东UI切出来的图标是ok的,然而我们公司的图标是不能适配比较特殊的手机的
发现了问题出现的原因,那就解决呗,于是让UI根据京东的图标重新切了一套,完美解决问题
关于android应用图标在部分手机显示白色背景的探索相关推荐
- android+状态栏显示图标大全,Android应用图标在状态栏上显示实现原理
一.前方 在研究<Android类似360,QQ管家那样的悬浮窗>突发奇想,想把应用的图标也显示到状态栏上,类似手机QQ,而有消息来时改变状态栏上的图标显示. 二.原理 其实很研究完后,才 ...
- Android应用图标在状态栏上显示实现原理
一.前方 在研究< Android类似360,QQ管家那样的悬浮窗>突发奇想,想把应用的图标也显示到状态栏上,类似手机QQ,而有消息来时改变状态栏上的图标显示. 二.原理 其实很研究完后, ...
- android系统方法裁剪图片 华为手机显示为圆
在android调用系统方法对图片进行裁剪时,华为手机显示的图形会变成圆形,改为aspectX和aspectY不是1;1就好 if(android.os.Build.MODEL.contains(&q ...
- android系统方法裁剪图片部分手机显示为圆形
近期,针对金立手机,联想手机和vivoX9等部分手机拍照或选择图册照片之后裁切各种问题统一测试和调试发现问题汇总: 1.金立手机,android(3.0.X): 照相之后,点击直接返回页面,选择相册图 ...
- android 应用图标替换后手机安装还显示旧的图标或者显示android小人人
朋友,遇到问题不要急! 第1个问题:图标替换没有作用 解决办法: 查找整个项目中相同图标名字的资源文件,然后替换之: 上面一点不起作用就重启手机: 第2个问题:显示android小机器人 首先你要先排 ...
- Android 小米手机开发APP图标更换后还显示原来的图标
Android修改了APP的图标,发布到应用商店,在小米手机下载APP后发现显示的还是原来的图标,查了资料后发现是 小米开放平台之前设置的完美图标还没修改.因为在小米手机上安装APP后会后台去获取完美 ...
- Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51082574 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...
- android 耳机图标显示图标,一种耳机图标的显示方法及终端与流程
本发明涉及通信领域,特别是一种耳机图标的显示方法及终端. 背景技术: 目前的手机耳机类型,主要有三类:不带microphone的三段式耳机:带microphone的欧标耳机(也叫国标):带microp ...
- Android app图标显示未读消息数
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51082574 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...
最新文章
- 职场的你,如何《赢》?
- 大厂,常用,四款,大屏可视化工具
- oracle将查询结果声明为伪表,Oracle查询操作(增删改查,伪表,高级查询)实例讲解...
- java params 关键字_转载------C# ref 和 out ,params关键字的用法
- 数据结构——图-有向带权图的邻接表
- centos7重装python_CentOS7重装yum和python
- 三国中最精辟的十句话
- 从零开始学习ASP.NET MVC 入门
- DMA—直接存储区访问
- Entity Framework 并发处理
- ecshop send.php on line 71,搭建LNMP发布ecshop系统及压测启用opcache缓存与否的情况
- 苹果mp3软件_第二十一期:喜马拉雅听书x2m格式转换mp3
- OCR文字识别,PDF格式转换
- linux 使用VI命令怎么删除输入内容,linux系统vi编辑器常用命令及使用方法。
- C语言入门——求n的阶乘
- 如何判断一个正数是奇数还是偶数,奇数输出odd,偶数输出even
- 摩斯密码基础知识介绍
- 微软bi报表服务器,安装 Power BI 报表服务器
- Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之Sparsity
- Unix macOS 编写 who 命令