问题标签 [pixel-density]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
398 浏览

flutter - Flutter 是否有任何描述不同屏幕尺寸和密度的文档?

我使用 Flutter 构建了一个小型演示应用程序,它看起来与 iphone x 和 android nexus 5x 不同。Flutter 是否有任何描述不同屏幕尺寸和密度的文档?AppBar 看起来也不同。请提供任何帮助。

在此处输入图像描述

0 投票
1 回答
67 浏览

android - 不同密度支持

我在我的项目中创建了以下 .xml 布局,以创建支持不同屏幕尺寸和密度的可扩展布局:

但是,我仍然面临同样的问题。在第一张图像中,手机为 5 英寸,密度约为 380dp,而在第二张图像中,手机再次为 5 英寸,但密度约为 441dp。

380DP

441dp

如您所见,我的布局的 textViews 在这些布局中的任何一个上都没有保持在正确的位置。我需要做什么才能在 Android Studio 中创建可扩展的布局?我已经阅读了大量的帖子,但没有人真正告诉你这是如何完成的。如果您根据自己的个人经验对如何完成此操作有任何想法,或者您曾与工作区中的开发人员团队合作过,请帮助业余开发人员。先感谢您。

PS:请不要评论帖子的链接,这些链接只是说我应该为不同的分辨率创建不同的布局文件夹,因为我已经这样做了。我的布局目录如下:layout、layout-hdpi-layout-xhdpi、layout-xxhdpi 和 layout-xxxhdpi。

旁注:在创建可扩展布局的过程中,我还使用了sdp/ssp 库,但它不是很有帮助。

0 投票
1 回答
53 浏览

android - Android上的标准化图像尺寸

所以我试图在 Android Studio 1.4.0 上构建一个基本的应用程序。是的,我知道它已经过时了,但是对于应用程序构建来说还是很新的并且找到了一个教程,我想我会继续使用它。

我的问题:我将图像放入“@drawable”。当我选择不同的模拟器时,如何确保它调整大小?我应该使用“@mipmap”吗?如果是这样,我该怎么做?我的图像有不同的尺寸(xxhdpi 等),但我不知道如何制作,所以模拟器“自动选择”正确的图像尺寸。

0 投票
4 回答
1857 浏览

image - 在不增加文件大小的情况下设置 JPG 密度 (dpi)

我使用(在 Windows 下)以下命令

设置 JPG 图像的 dpi(没有重新采样,因为 dpi 基本上是,据我所知,只是一个指定像素大小的标签)。它有效,但我不明白为什么它将文件大小增加了几千字节(我最初的 1658 kB 的图像变成了 1717 kB,增加了 59 kB),而我希望增加(如果有的话)只有几个字节。

我是不是搞错了什么?是否可以通过命令行更改 JPG 的密度/dpi(也欢迎使用 ImageMagick 以外的工具)而不增加文件大小?

提前感谢您提供任何线索。

0 投票
0 回答
237 浏览

android - Android 设备在调试和签名的 APK 中使用来自不同密度集的资源

我注意到我的应用在同一设备上显示的布局略有不同,具体取决于我运行的是调试 APK 还是签名的发布 APK。经过多次头疼后,我将问题与设备密度特定的资源值隔离开来。当我在调试模式下运行应用程序时,设备使用来自 value-xxhdpi/ dimens.xml的尺寸,当我运行签名的 APK 时,它使用来自values-xxxhdpi/dimens.xml 的尺寸。有问题的设备是运行 Android 7.0 的三星 Galaxy S7

为了确认这一点,我创建了一个新的空项目,其中只有一个 hello world 字符串。我在values/strings.xmlvalues-xxhdpi/strings.xmlvalues-xxxhdpi/strings.xml中为字符串定义了不同的值。这是结果。

  • 调试 apk 显示 xxhdpi 字符串。按预期工作。
  • 从 android studio 运行发布 apk(通过在 gradle 文件中指定签名配置)显示 xxhdpi 字符串。按预期工作。
  • 通过选择 Build | 生成签名的 apk 生成签名的 APK 并运行它。这次应用程序显示 xxxhdpi 字符串。为什么 ?!

为什么会这样?为什么android在调试模式下选择xxhdpi资源而在签名APK中选择xxxhdpi资源?

0 投票
5 回答
496 浏览

android - Android:处理不同dip设备的文本大小

对于相同的屏幕尺寸,不同的 dpi 设备,我得到不同的文本大小。我希望文本在所有设备(如 Inshorts 应用程序)上的大小完全相同。

在此处输入图像描述

从这些屏幕截图中可以看出,xxhdpi 的文本大小略大于 560 dpi 设备。

我的xml布局:

我也尝试使用 dp 代替 sp 没有任何成功。请帮忙。

0 投票
0 回答
195 浏览

unity3d - 统一3d | 重力比例值因设备分辨率不同而异。所以游戏对象没有达到所有设备的指定高度

我正在开发一个 2D 游戏,我使用 AddForce api 垂直向上抛出一个游戏对象。现在,由于施加的力,游戏对象开始向上移动,我继续在 Update() 中将其重力比例从 1 增加到特定值(比如 maxGravityScaleValue )。一旦达到 maxGravityScaleValue,球就会下落。我使用 1080x1920 的参考分辨率开发游戏。对于这个参考分辨率,maxGravityScaleValue 是 960(我只是通过反复试验才喜欢它)。所以我认为它对于所有设备都是一致的。但是后来当我在各种移动设备上尝试我的游戏时,maxGravityScaleValue 对于不同设备的变化不一致。我确信对于每个设备统一都在进行一些计算以确定最大重力比例值。我尝试了很多计算,但没有运气。请帮助我摆脱这种情况

由于游戏对象在达到特定高度后必须垂直向上并在重力下落下,我将给出游戏对象的 Y 坐标、高度和不同分辨率的 maxGravityScaleValue。

  1. 分辨率:1080x1920(纵横比 9:16),maxGravityScaleValue:960,gameObjectY:375 TargetY:1440
  2. 分辨率:1080x2280(纵横比 9:19),maxGravityScaleValue:1440,gameObjectY:555 TargetY:1620
  3. 分辨率:1125x2436(纵横比 9:19.5),maxGravityScaleValue:1200,gameObjectY:608.62 TargetY:1718
  4. 分辨率:1242x2688(纵横比 9:19.5),maxGravityScaleValue:1030,gameObjectY:671.25 TargetY:1896
  5. 分辨率:1440x2560(纵横比 9:16),maxGravityScaleValue:850,gameObjectY:500 TargetY:1920

使用 AddForce 垂直向上抛出的游戏对象。到达 TargetY 后应该会掉下来。我的逻辑是在施加力时将重力比例从 1 增加到 maxValue。所以一旦达到 maxGravity 值,Gameobject 应该在 TargetY 并且从那里它应该下降。

0 投票
2 回答
72 浏览

image - 在 Vaadin 14 应用程序中为像素密集(“Retina”)监视器调整“图像”小部件的大小

我知道如何在 Vaadin 14.1 应用程序的屏幕上呈现 JPEG 图像。

特别是 3 行:

…这个的:

我知道在这 3 行中,我们是在通知网页图像的宽度和高度,而不是让网页在加载时发现图像的大小。这使得布局更快,并避免了网页在用户面前跳来跳去的烦恼。

➥ 我的问题是:对于具有高像素密度的现代显示器(Apple 称其为Retina显示器)呢?

如何让图像有效地显示其所有像素,但占用屏幕上的空间最少?

如果显示器具有老式的低像素密度,则图像应该显示更多厘米的物理屏幕空间,而不是高密度 Retina 显示器,在高密度 Retina 显示器上,图像可以占用更少厘米的屏幕,同时在技术上仍能显示图像的所有像素。

0 投票
1 回答
439 浏览

html - html中srcset属性的w和px

在 html 中 img 元素的 srcset 属性中,我们可以指定每个源的宽度或像素密度。我们使用 w 来指定宽度,使用 x 来指定像素密度。我有一些关于 w 和 x 的问题。

  1. 500w是否意味着图像的宽度为500像素?如果是这样,为什么在 size 属性中使用的是 w 而不是 px?

  2. 1x是否意味着72pixels/inch的像素密度

  3. 为什么图像具有像素密度?我认为像素密度是指物理长度/空间内的像素数。例如,每英寸的像素数。但是数字图像不占用物理长度/空间,它只占用一些像素。那么数字图像的像素密度是什么意思?...这是我的猜测,如果我猜对了,请告诉我:图像只占用多个像素,但它可能是为了物理长度而设计的。例如,一个 144 像素宽度的按钮图像打算占据 1 英寸的物理空间。因此,它适用于 2x 的设备。我们通过在 srcset 属性中指定 2x 来告诉浏览器。总而言之,像素密度是指图像所针对的系统的像素密度。

0 投票
1 回答
1445 浏览

android - Android 启动画面:缩放位图

我基本上将以下xml用于Android启动画面:空活动windowBackground

background_splash.xml

只要logo.png小于屏幕尺寸,它就可以正常工作。如果logo.png大于屏幕,则超出屏幕。

我看到了 3 种解决方法,但都有缺点:

  1. 设置left/ rightin <item,但这需要 API 23+
  2. 因等而异@drawable/logo,但我使用的是密度拆分,这会在将 apk 重用于其他设备(apk 站点、“移动到新设备”-传输 apk 的应用程序等)时破坏它xhdpixxhdpi
  3. 使用带有 的布局ImageView,但这有明显的延迟

如何正确/没有缺点地做到这一点?