【问题标题】:Big bitmap in drawable-mdpi doesn’t show updrawable-mdpi 中的大位图不显示
【发布时间】:2015-12-11 08:56:21
【问题描述】:

我正在三星 S4 (441dpi=xxhdpi) 上测试应用。
只有一个可绘制文件夹,我将其命名为 drawable-mdpi,我在其中放置了一个大小为 1600x898 的 jpeg 文件。
当我尝试在 ImageView 上对其进行可视化时,它没有显示出来,而在 213dpi 平板电脑上一切正常。此外,如果图像较小,则在 S4 上将其可视化。
正常吗?根据我在文档中阅读的内容,我预计 Android 会查看其他文件夹,直到获得要调整的位图。

系统使用适当的替代资源。基于 当前屏幕的尺寸和密度,系统使用任何尺寸和 应用程序中提供的特定于密度的资源。例如, 如果设备具有高密度屏幕并且应用程序请求 可绘制资源,系统寻找可绘制资源目录 与设备配置最匹配。取决于对方 可用的替代资源,带有 hdpi 的资源目录 限定符(例如 drawable-hdpi/)可能是最佳匹配,因此 系统使用此目录中的可绘制资源。

http://developer.android.com/guide/practices/screens_support.html

【问题讨论】:

  • 我们又来了:几秒钟后被一些 Android 大神否决了,没有给出任何理由。我认为这不公平,如果您认为问题有问题,请解释。我想我已经仔细阅读了关于 SO 的其他问题,但我一直无法找到这个问题的答案。

标签: android android-layout bitmap drawable


【解决方案1】:

在 android studio IDE 中,它显示可绘制文件夹,但请检查您的项目结构(意味着在您的 pc 中(您的项目所在的位置))。它在那里显示可绘制以及所有可绘制文件夹(即 mdpi、hdfi、xhdpi、xxhdpi)。 这个结构如下图所示。

驱动程序(C 或 D..etc):\YourProjectName\app\src\main\res

【讨论】:

  • 问题不是文件夹没有显示,而是drawable-mdpi中的位图没有显示在ImageView上。
  • 图像(在drawable-mdpi文件夹中)复制到drawable文件夹中,然后运行应用程序。它会起作用的。
  • 不幸的是它没有。
  • 你的图片是在drawable文件夹还是drawable-mdpi?
【解决方案2】:

我之前也有同样的问题。

为此,我创建了一个测试应用程序。 我创建了 5 个不同大小的图像,所有不同的颜色。

  • drawable-hdpi
  • drawable-ldpi
  • drawable-mdpi
  • drawable-xhdpi
  • drawable-xxhdpi

我在 Samsung TabSamsung S4Samsung S3Moto X PlayMoto X Play 中运行应用程序strong>HTC Incredible 和其他一些设备。

我注意到在所有设备中,图像以不同的颜色显示。

这是因为所有设备都处于不同的维度。

Drawables 用于支持多种屏幕尺寸。

因此,如果您想在多个屏幕上显示相同的图像,则需要在多个维度上重新调整图像大小。

使用follow site转换多维图像。

https://resizeappicon.com/

https://romannurik.github.io/AndroidAssetStudio/

【讨论】:

  • 我终于会寻求这样的解决方案,但是drawable-mdpi中的图像在大时无法适应有什么原因吗?
  • @GinoStrato 哪个解决方案?
  • 具有不同可绘制文件夹的那个。这样它就起作用了。但是只有一个文件夹 drawable-mdpi 它没有,我不明白为什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-08
相关资源
最近更新 更多