Xamarin Android mipmap-anydpi-v26文件夹作用
作者: 葛屹肃 | 日期: 2023-08-14 | 分类: 知识经验
问题描述:VS2019使用C#开发Xamarin Android的APP,更改@ mipmap-XXXX中的ic_launcher.png。在模拟器中运行时,图标会更改,但APP在手机或设备上运行时,图标并不会更改。
解决方法有2种:
方法1、在项目删除中mipmap-anydpi-v26文件夹
方法2、更改mipmap-XXXX中的ic_launcher_foreground.png
原因分析:
mipmap-anydpi-v26文件夹作用:针对sdk 26版本(Android 8.0)以上使用的自适应图标,其图标为mipmap-XXXX中的ic_launcher_foreground.png
简单理解为:在安卓8版本或上运行时,即使用mipmap-XXXX中的ic_launcher_foreground.png作为图标,而低于安卓8版本运行时,使用 mipmap-XXXX中的ic_launcher.png或ic_launcher_round.png
看下mipmap-anydpi-v26文件夹的ic_launcher.xml与ic_launcher_round.xml代码,参数有2个,一个是图标周围颜色,一个是图标名称:
<?xml version=”1.0″ encoding=”utf-8″?>
<adaptive-icon xmlns:android=”http://schemas.android.com/apk/res/android”>
<background android:drawable=”@color/ic_launcher_background”/> //图标颜色
<foreground android:drawable=”@mipmap/ic_launcher_foreground”/> //图标名称
</adaptive-icon>
由此,若是使用方法2,由于ic_launcher_foreground.png的尺寸比图标大得多,建议先测试好图标尺寸,要保证图标全部显示,而又不会显示默认图标颜色。估计有人会想到,直接删除图标颜色这行代码不行吗?呵呵,这个我测试过,即使删除,依然还是会加入图标颜色。
最后附上API版本与安卓版本对照表:
SDK | API | SDK | API |
---|---|---|---|
Android 14 SDK | API level 34 | Android 13 SDK | API level 33 |
Android 12L SDK | API level 32 | Android 12 SDK | API level 31 |
Android 11 SDK | API level 30 | Android 10 SDK | API level 29 |
Android 9 SDK | API level 28 | Android 8.1 SDK | API level 27 |
Android 8.0 SDK | API level 26 | Android 7.1.1 SDK | API level 25 |
Android 7.0 SDK | API level 24 | Android 6.0 SDK | API level 23 |
Android 5.1 SDK | API level 22 | Android 5.0 SDK | API level 21 |
Android 4.4w SDK | API level 20 | Android 4.4 SDK | API level 19 |
Android 4.3 SDK | API level 18 | Android 4.2 SDK | API level 17 |
Android 4.1 SDK | API level 16 | Android 4.0.3 SDK | API level 15 |
Android 4.0 SDK | API level 14 | Android 3.2 SDK | API level 13 |
Android 3.1 SDK | API level 12 | Android 3.0 SDK | API level 11 |
Android 2.3.3 SDK | API level 10 | Android 2.3 SDK | API level 9 |
Android 2.2 SDK | API level 8 | Android 2.1 SDK | API level 7 |
Android 2.0.1 SDK | API level 6 | Android 2.0 SDK | API level 5 |
Android 1.6 SDK | API level 4 | Android 1.5 SDK | API level 3 |
Android 1.1 SDK | API level 2 | Android 1.0 SDK | API level 1 |
.
文章链接:https://www.geyisu.com/3204.html