【问题标题】:How to find out highest possible Image resolution to support multple screens如何找出可能的最高图像分辨率以支持多个屏幕
【发布时间】:2017-01-31 20:52:41
【问题描述】:

我对 Android 支持多屏幕的方法有点困惑。我多次阅读支持多个屏幕的官方文档,但我并不完全理解这个概念。

在我的测验应用程序中,每个问题都应该有一个图像。总共将有 255 张图像。该应用程序仅支持所有屏幕尺寸的横向和智能手机(不包括平板电脑)。

现在我的设计师想知道本周购买图像时可能的最高图像分辨率。我想以最高分辨率实现所有图像,因为如果设备与可绘制 DPI 不匹配,Android 将自动缩放可绘制对象。否则他必须购买多个图像。

所以我的问题是我不知道如何找出问题图像的最高分辨率。

我应该如何进行?

【问题讨论】:

  • 1px = 1dp @ 160dpi (mdpi),所有其他的只是这个比例,hdpi = 1.5, xhdpi= 2, xxhdpi = 3 & xxxhdpi = 4 倍。屏幕尺寸因制造商而异 - 你应该真正处理“桶尺寸” - 始终考虑 dp(mdpi 是基础),而不是 dpi。

标签: android android-layout android-imageview android-drawable android-image


【解决方案1】:

第 1 步:根据您要支持的屏幕尺寸(smallnormallarge、@987654326)确定图像的大小,以与密度无关的像素 (dp) 为单位@) 和您的 GUI 设计。这将部分基于the sizes in dp associated with those screen size categories

  • xlarge 屏幕至少为 960dp x 720dp
  • large 屏幕至少为 640dp x 480dp
  • normal 屏幕至少为 470dp x 320dp
  • small 屏幕至少为 426dp x 320dp

第 2 步:确定您希望拥有专用艺术品的最大密度是多少(相对于从较低密度的 Android 上采样)。

第 3 步:给定 dp 中的图像大小和所需的最大密度,确定以像素为单位的最大分辨率。

例如:

  • 在第 1 步中,您决定只使用 smallnormal 屏幕,并且根据您的 GUI 设计,您的图像将为 120dp x 90dp

  • 在第 2 步中,您决定要担心的最大密度是 xhdpi(320dpi = 160dpi 基础 dp 的两倍)

  • 第 3 步的结果是 240px x 180px

【讨论】:

  • 谢谢。所以我决定支持小、普通和大屏幕尺寸,最大密度为 xxxhdpi。但是如何在步骤 1 中获得 120dp x 90dp?在您的示例中,您选择了 320dpi 的 xhdpi。为什么步骤 3 的结果是步骤 1 的两倍。
  • @DenoAgüero:“但是如何在步骤 1 中获得 120dp x 90dp?” -- 你知道你的用户界面是什么。我没有,其他人也没有。大概,你有一个ImageView,并且大概,你有规则来调整它的大小。 “为什么第 3 步的结果是第 1 步的两倍”——因为 320 是 160 的两倍。dp 与 CSS 像素一样,在 160dpi 的基础上运行。
  • 我的 ImageView 的宽度为 150 dp,高度我使用的是 wrap_content。我必须确定 dp 的高度吗?如果我说高度是 90 dp,我的最大密度是 640 (xxxhdpi),那么最大分辨率就是 360x600。对吗?
  • @DenoAgüero:“我必须确定 dp 的高度吗?” ——如果你想估计一个分辨率,是的。通常,您可以通过估计图像的纵横比(很可能是一个固定值)并以这种方式确定非固定边的长度来做到这一点。 “那是对的吗?” -- 是的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-07
  • 2021-05-19
  • 2016-02-03
  • 2011-07-19
  • 1970-01-01
相关资源
最近更新 更多