Android Studio 3.0中mipmap-anydpi-v26是什么?

Android Studio 3.0中一旦我们创建了一个项目,一个名为mipmap-anydpi-v26自动创建的文件夹在res文件夹下。它究竟能干什么?为什么我们需要这个?我们在开发时该如何利用它?

另外,在项目创建之后,还会在此文件夹中创建两个xml文件。为什么这些文件在mipmap文件夹中?根据我们的理解,所有xml文件是保存在drawable目录下而不是mipmap中的。

Android Studio 3.0会为您的应用程序创建一个自适应图标,该图标仅在sdk 26中可用。启动图标应放入mipmap文件夹中。

如果这时候你去看你的清单文件,就可以看到它的引用ic_launcher

android:icon="@mipmap/ic_launcher"

如果这时候看看你的mipmap文件夹,你会看到5个不同的普通的启动图标,这些图标将用于低于sdk 26的版本。对于大于等于的sdk 26的,它使用xml文件mipmap-anydpi-v26夹中的文件来使用自适应图标。

<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@drawable/ic_launcher_background"/>
    <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

要添加一个替代API 26+设备上的所有PNG的自适应图标,你将添加一个如下所示的res/mipmap-anydpi-v26/ic_launcher.xml文件:

<adaptive-icon
    xmlns:android="http://schemas.android.com/apk/res/android">
  <background android:drawable="@drawable/ic_launcher_background"/>
  <foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>

通过将其放置在mipmap-anydpi-v26文件夹中,资源系统将优先使用其它dpi文件夹中的文件,仅仅在API 26+设备上才会使用。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Pythonista

windows下vmware配置nat网络

1063
来自专栏北京马哥教育

DNS高级应用之ACL和View

一、环境准备: 1、准备三台主机,要求如下 (1) DNS服务器双网卡:eth0:192.168.10.203 eth1: 172.16.2.1...

2627
来自专栏芋道源码1024

全面了解 Nginx 到底能做什么

本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得。...

772
来自专栏vue

将java项目打包成jar文件并在cmd运行

633
来自专栏小李刀刀的专栏

如何提前体验 Laravel 5.5

Laravel 5.5 再过一个多月就要发布了,这将是 Laravel 框架的下一个 LTS release(长期支持版)。本文介绍了在 Laravel 5.5...

2.2K0
来自专栏liulun

让git不再跟踪配置文件的变化

992
来自专栏EarlGrey的专栏

在 Ubuntu 14.04 服务器上部署 Hexo 博客

本文将介绍如何在一台 Ubuntu 14.04 的 CVM 云服务器上快速部署 Hexo 博客站点,如何快速发布一篇博文并通过云服务器上的私有 Git 仓库部署...

4.7K6
来自专栏Youngxj

Emlog插件:右下角添加不同时段问候语

1683
来自专栏企鹅号快讯

从0开始学习SpringCould(7)-SpringBoot 多环境配置

为什么需要多环境配置? 真正开发中,环境一般都是分离的,多数情况下都分为:开发环境、测试环境、生产环境等等。 以这三套环境为例,如果这三套环境有三个数据库,每次...

1975
来自专栏小李刀刀的专栏

如何提前体验 Laravel 5.5

Laravel 5.5 再过一个多月就要发布了,这将是 Laravel 框架的下一个 LTS release(长期支持版),对于喜欢追求最新版本的 Larave...

3505

扫码关注云+社区