【发布时间】:2023-12-27 04:05:01
【问题描述】:
[免责声明:首先我知道有很多关于drawable和mipmap文件夹的帖子,我读过其中的一堆]
Android Programming - The Big Nerd Ranch Guide 一书中有一个示例,我必须在 Button 上的某些文本旁边插入一个图标。对于更高分辨率的屏幕,包含多种尺寸的图标是有意义的。在他们的解决方案中,他们将所有图像放在许多不同的 Drawable 文件夹中,这些文件夹具有不同的图像分辨率大小。
经过大量试验和错误后,我只需将图标放入可绘制文件夹中即可使其在 mipmap 文件夹中工作:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/next_button"
android:text="@string/next_button"
android:drawableRight="@drawable/arrow_right/"/>
但是,我对它的工作原理有些困惑:
- 人们常说mipmap文件夹中只能放app图标,是这样吗?什么是应用程序图标?其他人说只有启动器图标应该放在那里,而还有一些人说只有图标应该放在那里。是哪一个,它们是互斥的选项!
- 我无法自动完成到 Android Studio 中的 mipmap 文件夹中,这让我认为我必须将所有内容放入我的可绘制文件夹中,因为 Android Studio 会为我自动完成。但是,默认情况下可绘制文件夹没有子文件夹。这让我相信drawable文件夹不应该再用于不同分辨率的图像,因为为什么默认是没有文件夹,所以每个人都会犯拼写错误..
- 什么时候让不同分辨率的图标没有意义?我无法想象有人不想要尽可能高的分辨率..
来自here 我有些困惑:
mipmap 文件夹仅用于放置您的应用程序图标。
这是什么意思?从谷歌翻译我得到:
图标:程序、选项或窗口屏幕上的符号或图形表示,尤其是可供选择的几个之一。
【问题讨论】:
-
"人们常说mipmap文件夹中只能放app图标,是这样吗?" ——“总是”是一个强有力的术语。然而,这就是惯例。 “什么是应用程序图标?” -- 您从清单中的
android:icon属性中引用的图标。 “默认情况下,drawable 文件夹没有子文件夹”——没有资源目录有子目录。 -
Gradle 允许您在构建 APK 之前剥离某些资源组。例如,您的项目可以包含
drawable-xxxhdpi图像,但生成的 APK 不会(如果您愿意)。另一方面,mipmap 将始终被打包(因此mipmap-xxxhdpi中的图像将安全地进入 APK)。 -
谢谢你们!慢慢地,我开始了解它的工作方式..
标签: java android drawable android-drawable mipmaps