gpt4 book ai didi

android - 强制平板电脑使用 xhdpi 资源

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

我正在开发一个应用程序,我已经提供了从 ldpi 到 xhdpi 的所有资源,但是有些平板电脑使用 hdpi(或者 tvdpi,对于我正在测试的 nexus 7)所以当我打开应用程序时在平板电脑上一切都很小,我想强制他们使用 xhdpi 资源,我该怎么做?

我不想只为平板电脑创建单独的文件,否则应用程序的大小会增加,xhdpi 资源可以正常工作

enter image description here

在手机上一切都正常显示,平板电脑是个问题,因为它们的大屏幕采用小分辨率 Assets ,所以以英寸为单位的实际尺寸(4 厘米,用尺子测量)是正确的,但它们实际上看起来很小整体设计不正确

最佳答案

通常,缩小比例是最好的选择(相对于放大)。如果您的图像在缩小时没有降级或丢失信息,请将图像的 2x 版本放在 res/drawable-xhdpi 文件夹中。 Android 会在密度较低的设备上适当缩小这些图像。

例如如果你在 res/drawable-xhdpi 中放置一个 64x64 像素的 jpg/png,Android 将在 mdpi 设备上显示为 32x32 像素,在 hdpi 设备上显示为 48x48 像素图像,在 hdpi 设备上显示为 64x64 像素图像xhdpi 设备。

如果缩小图像会使图像质量下降(例如,图像中有 1 像素线,缩小时会消失),那么唯一的选择是在 drawable-mdpi、drawable-hdpi 中添加图像的变化等目录。

评论后更新:

您希望您的图像在较大 屏幕上显示得更大(而不是在更高密度 屏幕上)。您可以通过仅将图像放在 drawable-xhdpi 文件夹中来执行此操作,但然后执行此操作:

例如您将在 res/layout 中拥有此布局,其中的 ImageView 显示您的其中一张图片:

res/drawable-xhdpi/one_of_my_images.png

res/layout/somelayout.xml

....
<ImageView
android:layout_height="@dimen/image_height"
android:layout_width="@dimen/image_width"
android:src="@drawable/one_of_my_images"
android:scaleType="fitCenter"
....
/>

res/values/dimens.xml

....
<dimen name="image_height">100dip</dimen>
<dimen name="image_width">150dip</dimen>
....

res/values-large/dimens.xml

....
<dimen name="image_height">150dip</dimen>
<dimen name="image_width">225dip</dimen>
....

res/values-xlarge/dimens.xml

....
<dimen name="image_height">200dip</dimen>
<dimen name="image_width">300dip</dimen>
....

如您所见,屏幕越大,图像越大(倾角,因此以英寸为单位)。您可以在 res/values-xlarge-hdpi、res/values-xlarge-xhdpi 等 dimens.xml 中尝试不同的 image_height 和 image_width 值,看看什么看起来最好。

评论后更新 2:如果你想要你自己的加载适当资源的“自定义”方案,请将它们放在 id res/drawable-nodpi 中:例如
res/drawable-nodpi/one_of_my_images_normal.pngres/drawable-nodpi/one_of_my_images_large.pngres/drawable-nodpi/one_of_my_images_xlarge.png

然后放入适当的 drawable 目录(res/drawable/、res/drawable-large、/res/drawable-sw360dp/等,无论你能想出什么)一个 xml 文件,它间接引用来自nodpi目录:例如

res/drawable-xlarge-mdpi/my_images.xml

<resources>
....
<item type="drawable" name="one_of_my_images">@drawable/one_of_my_images_large</item>
....
</resources>

这意味着对于超大 mdpi 屏幕,Android 将从 drawable-nodpi 目录加载“one_of_my_image_large.png”。

关于android - 强制平板电脑使用 xhdpi 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15075541/

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