【问题标题】:Questions regarding drawable folders for Android有关 Android 可绘制文件夹的问题
【发布时间】:2012-01-16 00:49:57
【问题描述】:

尊敬的 StackOverflow 用户,

我在 StackOverflow 上找到了有关使用什么 Drawable(HDPI、MDPI、LDPI)的信息。目前我只使用 HDPI 文件夹。我的 ImageButtons 是 72x72。根据 Eclipse,查看 .XML 文件的图形布局,最小的屏幕(2.7 IN QVGA)可以显示所有按钮。

如果我是正确的,如果有 MDPI 或 LDPI 屏幕的人使用 APP,Android 会缩小图像,对吗?是否还有一个设置,其中所有不同的 DPI 尺寸都使用 72x72 图像?我是否应该在 Android Manifest 中明确定义支持哪些 DPI?或者当我把它留空时,它会支持所有可能的设备吗?

提前感谢您的任何回答! (也许这些问题的(部分)已经回答了,但是谷歌找到了很多关于这个的东西)

编辑:

我在我的 android 清单文件中找到了这个。这会使其适用于所有设备吗?并缩小 HDPI 图像?:

<supports-screens 
android:largeScreens="true" 
android:normalScreens="true" 
android:smallScreens="true"
android:anyDensity="true" 
android:resizeable="true" />

【问题讨论】:

    标签: android android-manifest drawable dpi


    【解决方案1】:

    如果我是对的,如果有 MDPI 或 LDPI 屏幕的人使用 APP,Android 会缩小图像,对吗?

    是的。

    是否还有一个设置,所有不同的 DPI 尺寸都使用 72x72 图像?

    如果你把它们放在res/drawable/而不是res/drawable-hdpi/,应该会有这种效果。

    我是否应该在 Android Manifest 中明确定义支持哪些 DPI?

    如果您希望阻止您的应用出现在特定密度的市场中,您可以使用&lt;compatible-screens&gt;。理想情况下,您的应用可以在所有密度下工作。

    这是否可以在所有设备上运行?

    它将允许您的应用安装在所有设备上。它是否有效取决于您。请删除 android:resizeable 属性(已弃用)。您也可以删除android:anyDensity(默认为true)。

    然后缩小 HDPI 图像?

    是的,它应该按比例缩小 HDPI 图像。即使没有这个元素,它也会这样做。

    【讨论】:

    • 所以简而言之:如果你把它放在drawable文件夹中,所有的DPI都使用相同的分辨率。如果你在 HDPI 文件夹中放一个 .png,高 DPI 屏幕使用它作为它的分辨率,MDPI 将其缩放为 66%,LDPI 将其缩放为 50%。反之,将其放入 LDPI 将使其以 100% 的低 DPI、133% 的中等 DPI 和 200% 的高 DPI 显示。
    • @schijndelvanjos:是的,虽然你真的不想做后者,因为你的图标看起来很讨厌。缩小是马马虎虎(占用 CPU 时间,并且缩放算法可能针对速度/大小而不是质量进行优化)。考虑使用Android Asset Studio 来帮助您制作适合所有密度的图像。
    • 这看起来像是一些有用的工具!检查出来!感谢大家的帮助!
    【解决方案2】:

    如果您只使用一种尺寸,我会将图像放在 drawable 文件夹中,而不是 drawable-hdpi/ldpi/xhdpi。这样一来,除非在其他屏幕分辨率特定文件夹中有特定的可用图像,否则将始终使用该文件夹中的图像。

    我不太清楚你的意思是什么

    是否还有一个设置,其中所有不同的 DPI 尺寸都使用 72x72 图像?

    当你把所有东西都放在标准的可绘制文件夹中时,android 将始终使用这个图像。如果您以 dp(密度独立像素)而不是普通像素为单位设置图像的宽度,它将根据用户的屏幕密度自动缩小图像。查看来自 Google 的 this 链接,以支持多屏幕并拥有与密度无关的应用程序。

    或者当我把它留空时,它会支持所有可能的设备吗?

    留空,它将支持所有可能的设备。

    我在我的 android 清单文件中找到了这个。这会让它工作吗 所有设备?并缩小 HDPI 图像?:

    不,不会的,别说了。只需使用与密度无关的像素来适应您的图像,它们就会被缩放并在您的应用程序中正常使用。

    【讨论】:

    • 感谢您的回复!也很有用!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-10
    • 2012-05-18
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多