首页 文章

关于Android Studio中的drawable和mipmap的混淆来自书中的旧例子

提问于
浏览
4

[免责声明:首先我知道有很多关于drawable和mipmap文件夹的帖子,我读了一堆血统]

从Android编程 - 大书呆子牧场指南这本书中我可以在 Button 上的某些文本旁边插入一个图标 . 对于更高分辨率的屏幕,包含多个尺寸的图标是有意义的 . 在他们的解决方案中,他们将所有图像放在许多不同的Drawable文件夹中,这些文件夹具有不同的图像分

我通过在很多试验和错误之后将图标放在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文件夹中,是真的吗?什么是应用程序图标?其他人说,只有 Launcher 图标应放在那里,而其他人则说只应放置图标 . 它是哪一个,它们是相互排斥的选择!

  • 我无法自动完成Android Studio中的mipmap文件夹,这让我觉得我必须将所有内容放入我的drawable文件夹,因为Android Studio会为我自动完成 . 但是,默认情况下,drawable文件夹没有子文件夹 . 这让我相信可绘制的文件夹不应该再用于不同分辨率的图像,因为为什么默认情况下没有文件夹,所以每个人都可以犯拼写错误..

  • 何时以不同的分辨率提供图标没有意义?我无法想象有人不想要尽可能高的分辨率 .


here我得到了一些困惑:

mipmap文件夹仅用于放置应用程序图标 .

那是什么意思?从谷歌翻译我得到:

icon:程序,选项或窗口的屏幕上的符号或图形表示,尤指用于选择的几个中的一个 .

1 回答

  • 12

    mipmap和drawable文件夹的不同用法

    我终于通过查看official google documentations of the resource folder(res /)了解了mipmap和drawable文件夹之间的区别 .

    他们说何时使用mipmap:

    用于不同启动器图标密度的可绘制文件 . 有关使用mipmap /文件夹管理启动器图标的详细信息,请参阅管理项目概述 .

    什么时候把东西放在你的drawable文件夹中:

    位图文件(.png,.9.png,.jpg,.gif)或编译为以下可绘制资源子类型的XML文件:位图文件列表项九 - 补丁(可调整大小的位图)状态列表形状动画可绘制其他drawables请参阅Drawable Resources


    附加到文件夹名称的限定符在android中具有特殊含义

    Also noticeable is there is for the launcher icon by default multiple folders with different resolutions but for the drawable folder there is not. Android OS looks for these folder with special names, called qualifiers. 例如,对于drawable文件夹,有以下限定符和更多:

    • ldpi

    • hdpi

    • xdpi

    这些限定符附加到这些资源文件夹名称,如drawable-ldpi,drawable-hdpi和drawable-xdpi,因此android操作系统将查看这些文件夹以查找文件夹中文件的最佳分辨率 .


    回答上述问题:

    • 当人们实际上意味着启动器图标时,人们会犯错误使用术语图标 . 启动器图标应放在mipmap中并默认存在 .

    • 除了启动器图标之外,什么都不应放在mipmap中

    • Android提供了configuration qualifiers,可以根据屏幕分辨率和屏幕方向等特定设备设置更轻松地更改应用 . 包含不同大小的版本很有意义,因为缩小和升级可以更精确地完成以适应所有类型的屏幕尺寸 .

    希望这有助于任何人 . 我发现这很难找到 .

相关问题