手机和平板电脑的 ImageView 大小
ImageView size for phones and tablets
我正在为我的应用制作类似仪表板的东西。一切都很好,除了不同设备屏幕英寸的 ImageView 大小的情况。
在 7 英寸及以下的手机和设备上看起来不错
但在超过 7" 的设备上它看起来很糟糕
在所有情况下,我都使用相同大小的 ImageView - 50dp,并且生成了 MDPI、HDPI、XHDPI、XXHDPI 图像
如果我将使用 dimens,我会得到模糊的图像,因为 MDPI、HDPI、XHDPI、XXHDPI 图像只会为 50dp 生成,而不会为 100dp 生成
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="image_size">100dp</dimen>
</resources>
但似乎 7" 和更多英寸的设备需要更大的图像尺寸,例如 100dp。
我无法通过谷歌搜索解决方案。 是否可以在不创建额外代码的情况下使图像在 7"+ 平板电脑上看起来更大?
不要在 xml 中为 imageview.Give imageview 的高度和宽度 wrap_content 提供固定大小......
<ImageView
android:id="@+id/img"
android:src="@drawable/splash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
这个看似简单的问题竟然没有人能给出答案,真是令人惊讶和奇怪。好吧,无意间我找到了一个解决方案,就这么简单
如果您想为平板电脑和手机显示不同的图片尺寸,只需为其创建一个 dimen
对于手机,我们显示 50dp 的小图片
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="image_size">50dp</dimen>
</resources>
对于 10 英寸左右的平板电脑,我们显示 2 倍大小的 100dp 图片
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="image_size">100dp</dimen>
</resources>
然后在 ImageView 标签中指定尺寸:
<ImageView
android:layout_width="@dimen/image_size"
android:layout_height="@dimen/image_size"
android:id="@+id/imgViewIcon"/>
而且您必须为手机制作不同密度的图像,原始大小为 50dp,并将它们放在 MDPI、HDPI、XHDPI、XXHDPI 文件夹中。对于平板电脑,制作 100dp 的图像并生成不同的密度,然后将其放入 drawable-wNNNdp-?dpi 文件夹,其中 NNN - 屏幕宽度和 ? - l, m, h, xh, xxh, xxxh dpi。确切的文件夹 drawable-wNNNdp-?dpi 是答案
我正在为我的应用制作类似仪表板的东西。一切都很好,除了不同设备屏幕英寸的 ImageView 大小的情况。
在 7 英寸及以下的手机和设备上看起来不错
但在超过 7" 的设备上它看起来很糟糕
在所有情况下,我都使用相同大小的 ImageView - 50dp,并且生成了 MDPI、HDPI、XHDPI、XXHDPI 图像
如果我将使用 dimens,我会得到模糊的图像,因为 MDPI、HDPI、XHDPI、XXHDPI 图像只会为 50dp 生成,而不会为 100dp 生成
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="image_size">100dp</dimen>
</resources>
但似乎 7" 和更多英寸的设备需要更大的图像尺寸,例如 100dp。
我无法通过谷歌搜索解决方案。 是否可以在不创建额外代码的情况下使图像在 7"+ 平板电脑上看起来更大?
不要在 xml 中为 imageview.Give imageview 的高度和宽度 wrap_content 提供固定大小......
<ImageView
android:id="@+id/img"
android:src="@drawable/splash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
这个看似简单的问题竟然没有人能给出答案,真是令人惊讶和奇怪。好吧,无意间我找到了一个解决方案,就这么简单
如果您想为平板电脑和手机显示不同的图片尺寸,只需为其创建一个 dimen
对于手机,我们显示 50dp 的小图片
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="image_size">50dp</dimen>
</resources>
对于 10 英寸左右的平板电脑,我们显示 2 倍大小的 100dp 图片
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="image_size">100dp</dimen>
</resources>
然后在 ImageView 标签中指定尺寸:
<ImageView
android:layout_width="@dimen/image_size"
android:layout_height="@dimen/image_size"
android:id="@+id/imgViewIcon"/>
而且您必须为手机制作不同密度的图像,原始大小为 50dp,并将它们放在 MDPI、HDPI、XHDPI、XXHDPI 文件夹中。对于平板电脑,制作 100dp 的图像并生成不同的密度,然后将其放入 drawable-wNNNdp-?dpi 文件夹,其中 NNN - 屏幕宽度和 ? - l, m, h, xh, xxh, xxxh dpi。确切的文件夹 drawable-wNNNdp-?dpi 是答案