gpt4 book ai didi

android - 在 Android 上针对不同的屏幕尺寸和密度重复使用可绘制图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:30:24 26 4
gpt4 key购买 nike

上下文:我正在开发一个用于平板电脑(横向)的 Android 应用程序,其图像资源的分辨率为 1920x1200。该分辨率适合以下屏幕尺寸和密度:

drawable-xlarge-hdpi
drawable-large-xhdpi

问题:如果我在这两个文件夹中包含所有重复的图像资源,则 APK 的最终大小将不必要地大

我不成功的方法:我尝试对此处定义的此可绘制对象使用 Alias: http://developer.android.com/guide/topics/resources/providing-resources.html#AliasResources

我的图片资源在:

res/drawable-nodpi/image_cmn.png

以及相应屏幕尺寸和密度文件夹中的两个别名:

res/drawable-xlarge-hdpi/image.xml
res/drawable-large-xhdpi/image.xml

图像.xml:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/image_cmn" />

当然,当我在布局文件中使用我的图像时,我引用了别名:

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

但遗憾的是,Android 没有为我的测试平板电脑 (mdpi) 正确调整资源大小,结果是我有更大的图像。

我试图将原始 png 移动到 res/drawable 甚至 res/raw 但结果与 res/drawable-nodpi.

如果我将此 png 移动到 res/drawable-xlarge-hdpi(与 xml 别名相同),结果是正确的,但自然这不能解决我的问题,因为我还必须将它们复制到res/drawable-large-xhdpi 和 apk 大小增加。

有人知道如何实现吗?

最佳答案

我尽量避免在 ImageViews 上使用 wrap_content,因为不同的平台版本会以不同的方式调整图像大小,如果您在 dp 中放置明确的宽度和高度,那么选择哪个图像并不重要。

在你的情况下,我会在 drawable/xhdpi 中有一个图像。在 dp 的布局文件中指定它的宽度和高度。对于 layout_width="960dp"layout_height="600dp"

的 1920x1200px 图像

图像在超大平板电脑上的物理尺寸与大平板电脑大致相同。

如果您希望图像在超大平板电脑上更大,请包含第二个布局文件,其中图像的宽度和高度增加但保持相同的图像。

或者,您可以使用 large 和 x-large 之间不同的维度资源。

关于android - 在 Android 上针对不同的屏幕尺寸和密度重复使用可绘制图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25220152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com