Android 在 hdpi 设备上缩放 hdpi 图像

标签 android android-resources hdpi

我注意到我的应用程序中的所有图像似乎都比原始图像小。例如。

我把图像放在这样的 Activity 上:

<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content"
           android:src="@drawable/ic_search_dark"
           />

我从结果中截图并将图像测量为 25x25:

http://petromi.com/get/86b23cdb63.png

但它的实际大小是 28x28:

http://petromi.com/get/fd68913104.png

图像已放置到 drawables-hdpi 文件夹中。设备是 1280x800 平板电脑。我已将其显示指标记录如下:

Log.d("Screen (%s, %s) - [%s, %s] [%s]", dm.widthPixels, dm.heightPixels, dm.xdpi, dm.ydpi, dm.densityDpi);

我得到了:

Screen (1280, 736) - [160.0, 160.15764] [213]
Screen (800, 1216) - [160.0, 160.15764] [213]

(纵向和横向)

令我惊讶的是,Android 在 hdpi 设备上缩放来自 drawable-hdpi 的图像。可以吗?如果是的话,你们能给我一个描述这些规则的链接吗?

最佳答案

如果设备注册为 hdpi 设备,它将从 hdpi 文件夹中获取图像。然后它将继续将图像缩放到设备的实际规范。这个是正常的。

hdpi 的 dpi 是 240。您拥有的是 213,因此图像仍将根据 240 dpi 设置进行缩放。

如果您不想进行任何形式的缩放,则需要将图像放在 drawable-nodpi 文件夹中。

关于Android 在 hdpi 设备上缩放 hdpi 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15435571/

相关文章:

java - Google Play - 安装了应用内更新,但一次又一次显示更新可用

java - 如何在android资源文件中动态存储字符串

android - 为什么以及如何在 Android Studio 中使用 @xml/file_paths 资源?

java - android项目中的xml文件应该放在哪里?

Java 9 hdpi 显示支持 - 多分辨率图像 - Windows 中的命名约定和加载

android - 无法使用指定的 Gradle 安装创建 Tooling API 实现的实例

java - 如何使用 jsoup 将数据发送到没有名称的输入?

android - Firebase中应用程序在后台时如何处理通知

android - 如何在 Android list 文件中定位 xxxhdpi 设备?

hadoop - 看不到在Ambari Web UI中运行的任何服务