gpt4 book ai didi

Android 不同的屏幕尺寸/dpi,工作更少

转载 作者:搜寻专家 更新时间:2023-11-01 09:36:52 26 4
gpt4 key购买 nike

嗯,不幸的是,当我的应用程序已经完成并且功能齐全时,我遇到了不同的屏幕尺寸。

我找到了关于不同设备/分辨率/dpi 实现的数千个答案,我试图从每个答案中学习一些东西。

我的目标是不使用不同的密度文件夹,而是为每个布局分辨率/dpi 调整大小/重新定位现有图片。调整大小导致的图片模糊目前对我来说并不重要。我的应用程序是一个学校项目,我需要在几天内启动它。

我的想法是创建一组巨大的布局文件夹,例如:

layout-normal-mdpi    
layout-normal-hdpi
layout-normal-xhdpi
layout-normal-xxhdpi
layout-normal-xxxhdpi
layout-large-mdpi
layout-large-hdpi
layout-large-xhdpi
layout-large-xxhdpi
layout-large-xxxhdpi
layout-xlarge-mdpi
layout-xlarge-hdpi
layout-xlarge-xhdpi
layout-xlarge-xxhdpi
layout-xlarge-xxxhdpi

将我的 Activity 复制/粘贴到那里,并为每个 Activity 对象设置所需的 DP 值,以使该应用在大多数设备上可用/可见。

在此之后我将创建尽可能多的虚拟设备来正确测试和编辑图形。

再说一次,我通过这种方式失去了什么(质量 DPI 分辨率除外)?

您有更好的主意让我的应用与大多数设备兼容吗?

我的应用主要针对平板电脑,我希望它也能兼容 4 英寸以上的手机。

最后一个问题:

像我一样使用密度值:

布局正常-hdpi

是个好习惯吗?它会在未来的 android 版本中实现吗?或者最好避免使用 DPI 值,例如:

布局正常

非常感谢您的帮助。

这是我创建为 Galaxy S7 Edge 的虚拟设备的屏幕截图。它会自行加载 layout-normal-xxxhdpi 布局。

enter image description here

最佳答案

我建议你不要创建所有这些布局,而是创建不同的 dimens.xml 文件,这样你只需要创建一个布局,每个 View 有一个尺寸属性,Android 根据设备屏幕尺寸自动采用.这是一个例子:

布局:

<ImageView
android:id="@+id/image_cat"
android:layout_width="@dimen/width_category_image_carousel"
android:layout_height="0dp"
android:layout_weight="2"
android:foregroundGravity="center_horizontal|bottom" />

sw300dp 的 FILE DIMENS.XML(这表示无论方向如何,最小宽度都必须为 300dp)

<resources >
<dimen name="width_category_image_carousel">220dp</dimen>
</resources>

您必须根据要支持的不同尺寸的屏幕,在资源目录的值目录中创建更多文件 dimens.xml。您可以在此处找到有关如何定义不同维度的更多信息: https://developer.android.com/guide/practices/screens_support.html#NewQualifiers

关于Android 不同的屏幕尺寸/dpi,工作更少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42418767/

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