如何为所有屏幕定义图像视图的宽度和高度?

How to define width and height for an imageview for all screens?

我有一个宽度为 250dp 高度为 250dp 的图像视图,在 nexus 5 5.0 英寸 1080x1920 xxhdpi 上看起来不错,但是当我将模拟器设备更改为更大的屏幕时,例如 6.0 英寸像素 2 xl 1440x2880、560 dpi真的很小

我知道我必须在 dimens.xml 文件中声明其他尺寸以支持其他屏幕并且我使用尺寸限定符 small、normal、large 和 xlarge 但由于某些原因在某些设备上它不支持好看

为图像视图定义 width/height 以使其在所有屏幕上看起来都不错的最佳方法是什么?

谢谢

您应该拥有不同密度的图像(ldpi、mdpi、xhdpi、xxhdpi 和 xxxhdpi)或 svg 图像,以便在不同密度的屏幕上看起来不错。为了在不同的屏幕尺寸(物理尺寸)下看起来不错 - 您必须在 xml 设计预览中可用的不同屏幕预览中检查您的布局。为了轻松创建预览屏幕,您会在预览屏幕中找到 orienation symbol 单击它 -> 您将在该单击 Create Other 中下拉 -> 接下来您将看到一个对话框,您必须遵循命名文档中的约定 https://developer.android.com/training/multiscreen/screensizes。例如:对于小屏幕,您必须将其命名为 layout-small 您将得到 activity_main.xml(small),因为您可以更改图像视图属性以在该屏幕上看起来不错。