android - 了解不同尺寸和像素密度设备上的 android ImageView
问题描述
我有一个图像,在 android 上,我希望它的高度为 110dp,并与父级的宽度相匹配,在左侧和右侧留下 10dp 的边距。使用ImageView
它是微不足道的。
我的问题是我应该将图像保存为什么分辨率?我知道 android 有多个图像分辨率文件夹,但我不确定每个文件夹的每个分辨率应该是什么。
在这里:https ://developer.android.com/training/multiscreen/screendensities android描述了一个关于如何为不同的可绘制文件夹缩放分辨率的示例
如果您有一个用于中等密度屏幕的 48x48 像素的可绘制位图,则所有不同的尺寸应该是:...
但是我怎么知道我当前的图像最适合哪里呢?(mdpi,hdpi ..等)?
除了分辨率(dpi),图像的宽度不是固定的,因为不同的设备有不同的宽度。android 在使用时会正确处理这种缩放src:=""
吗?
解决方案
但是我怎么知道我当前的图像最适合哪里呢?(mdpi,hdpi ..等)?
答案是,这取决于布局以及您正在开发应用程序的设备。这些dpi
文件夹将帮助您使您的应用程序在各种设备上看起来统一(或不同)。
如果您正在设备中开发(创建布局、资源),hdpi
则将当前图像放入hdpi
文件夹中。为了支持不同的设备,放大/缩小图像的大小和分辨率并将它们放在正确的文件夹中。您可以使用此比例图表:
LDPI - 0.75x
MDPI - Original size // means 1.0x here
HDPI - 1.5x
XHDPI - 2.0x
XXHDPI - 3x
XXXHDPI - 4.0x
推荐阅读
- json - 将记录从 Excel 文件上传到服务器 - 桌面应用程序
- mysql - 无法创建外键约束?
- php - 在 Mac Mojave 上将 PHP 7.2 升级到 7.3
- c - 为什么 Connect() 返回负值?
- c# - 如何在 gRPC 和 ASP Net Core 3.0 中使用 ssl 证书?
- codeigniter - 在 Codeigniter 的 URL 中放置斜杠 / 会破坏页面样式/图像等
- docker - 在 keycloak docker 映像中找不到 Dockerfile 文件
- python - 当我尝试运行代码时,Pygame 窗口没有响应错误
- android - 如何在片段中设置工具栏副标题?
- sql - ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: 在“AS”处或附近出现语法错误(地理编码器)