问题标签 [screen-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 投票
1 回答
52 浏览

android - 在冷启动时难以获得自定义视图的高度

我在获得视图的高度时遇到了一些困难。目前,在应用程序冷启动时,getMeasuredHeight()视图返回0.

现在,我知道解决这个问题的方法。发生这种情况是因为尚未布置视图。不幸的是,使用类似 a 是addOnGlobalLayoutListener不够的。我需要此视图的高度(工具栏 +TabLayout或只是一个工具栏,具体取决于用户的设置)来设置SwipeRefreshLayoutusing的偏移量setProgressCircleOffset()。在应用程序冷启动时,SwipeRefreshLayout显示为“刷新”。每当数据加载或更改时,它都会显示为“刷新”。如果我不知道高度,则SwipeRefreshLayout不会显示它“令人耳目一新”。我不能延迟计算,因为我在冷启动开始时需要它;更不用说它可能是两个可能的高度之一。

所以我的问题是:因为我们可以获得设备的 DPI,并且我通常可以(通过反复试验)估计dp视图的高度(in )(并且它是备用的)——是否可以创建一个“公式" 或者会根据屏幕尺寸调整偏移量的东西?我知道我需要将 转换dppx,但除此之外,我不确定如何去做。

例如,我知道这个视图的高度在我的 Nexus 6 上是 334px(设置为 513dpi);但在我的库存 Pixel C 上肯定更少(Pixel C 上 334px 的偏移量太大了)。

0 投票
1 回答
311 浏览

android - 保证空间的 Android DP 限制

抱歉,如果之前有人问过这个问题,在这种情况下,很难通过搜索找到它,但我们开始:

当您在 Android Studio 中使用 DP 像素时,您有时会发现与预览相比,真实设备或模拟器上的元素会变宽或变短。考虑到不同的密度,这是有道理的。

我想知道的是,在高度和/或宽度方面是否有一定的黄金限制,这将保证如果您将所有内容保持在此限制内,则无论屏幕密度如何,都不会出现屏幕外的内容该设备是。

例如,如果我想制作一个棋盘,我希望它尽可能宽,但始终适合任何屏幕。这里有黄金限制吗?

0 投票
1 回答
251 浏览

android - Android 资源选择逻辑

我在 values 、 values-hdpi 和 values-xxhdpi 文件夹中定义了一些维度。

资源选择逻辑有点令人困惑,比如如果我删除具有 xxhdpi 屏幕密度的值 xxhdpi 设备开始从 hdpi 而不是默认值中选择值?这是否正常,正如我在开发者网站上读到的那样,资源是按比例缩小而不是按比例放大的?xxxhdpi 和 xhdpi 会选择什么?

0 投票
2 回答
861 浏览

android - Android Studio 选择了错误的布局

我是安卓新手。我正在构建我的第一个应用程序。

我一直在努力让它支持多个屏幕。我已经浏览了android中的开发人员部分,但是,我不清楚这些事情。

  1. 什么是分辨率,我应该用于不同的可绘制文件夹?(例如 hdpi 屏幕可能有 500*600 屏幕或 1280*1920 屏幕。)

  2. 我一直在使用开发人员页面中提到的布局文件夹,如小、正常和其他,但 android 继续为像 nexus 6p 这样的屏幕选择正常布局(我猜大是合适的)。

有什么办法可以让它看起来更好吗??

0 投票
0 回答
44 浏览

android - 你如何找出/计算哪个 w, H或 sw电话使用以及使用哪些步骤?

我正在优化多个屏幕的布局,但我一直坚持如何定义不同的dimens文件。因此,它在 android 开发人员上说您应该使用sw<N>,w<N>h<N>,但是我怎样才能提前找出给定手机将使用哪一个呢?

我有一台 Sony LT26i,它的屏幕分辨率为 720 x 1280,它使用(通过反复试验)限定符w<360>h<615>. 我不完全确定,但我猜想 360 是 px 公式的反向计算,即px = dp * (dpi / 160)( 360 = 720 * 160 / 320,其中 320 是DensityDpiDisplayMetrics类计算的)。但是,当我对宽度应用相同的逻辑时,我得到 640,那么为什么我的手机使用 615(对应于dpi值 333.00813)?还是宽度和高度有不同的dpi?

为了优化,我如何选择定义dimens文件的步骤?我正在考虑根据我自己的手机像素值进行计算,使用 px 公式(上图)根据给定的屏幕密度创建步骤,并根据给定的比率(即从 ldpi 到 xxxhdpi .75:2:3:4:6:8)缩放值,可能根据事情的进展情况调整个人价值观。有没有更好的办法?

是否有针对 AVD 的特定配置和dimens 测试应用程序的建议?

0 投票
3 回答
235 浏览

android - AndroidStudio - 多个屏幕的图像使 apk 的大小变得异常大

我正在使用 AndroidStudio 制作一个 android 项目,但我使用的图像的物理尺寸存在问题。

基本上我有 15 个活动,它们的背景和按钮都有不同的.png文件。这些图片为全高清 (1080x1920)。我使用插件为每张图片创建了不同的“变体”,该插件Android Drawable Importer为不同的屏幕密度(ldpimdpihdpixhdpixxhdpixxxhdpi)“重绘”它。到目前为止,一切都很好。

但是这样做我为我的每张照片(总共 96 张)制作了 5 份。所有可绘制目录中生成的图片的总大小约为100MB,这使得.apk文件很大。

所以我的问题是:有没有办法优化这个大小或其他更好的方法?

我已经阅读了支持多屏幕的文章,它告诉我做我正在做的事情,但是 id 没有考虑 .apk 文件的最终大小以及应用程序安装在手机上时的大小。

0 投票
1 回答
1760 浏览

android - 物理密度和设备的物理密度之间究竟有什么区别?

我创建了一个函数来根据分辨率和像素密度计算对角线屏幕尺寸。即-

我想使用 adb shell 获取信息(分辨率和像素密度)。当我尝试这个命令时-

我得到的结果是设备的物理密度(= 320),但是特定设备的像素密度是(~294)。很想知道这两者之间到底有什么区别,以及如何使用 adb 命令找到像素密度,在这种情况下约为 294。

PS-我正在使用的设备是-MOTO XT1068

0 投票
1 回答
54 浏览

android - 我已在 google play store 中发布了我的应用程序,但对于 samsung galaxy note5 和 nexus 6 不可见

我有一个 Galaxy Note 5,我无法安装该应用程序,但它可以在其他手机和平板电脑上运行。

我认为这可能与手机具有四高清屏幕但其他似乎工作正常有关。我不知道还有什么不同。我

转到谷歌开发者控制台,注释 5 甚至不在所有设备的列表中。

0 投票
1 回答
123 浏览

android - 支持不同尺寸和密度的图像视图

我有一个带有 imageviews 的 viewpager,我将它设置为:

现在,我创建了以下尺寸文件:

在此处输入图像描述

但是,当我启动 Nexus 5X 和 Nexus 6P 模拟器时,它们都共享 dimens.xml(xxhdpi) 文件,并且图像在两者上看起来都不好看。什么是最好的方法,这样我的图像就可以在每台设备上看起来都应该是这样的?

0 投票
1 回答
389 浏览

android - App not visible on certain devices

I've published an app on Google Play Store but it is unsupported for a number of devices such Sony Xperia Z2, OnePlus2 etc. The manifest file for my app is:

I think the issue is for ~400 dpi devices. How can I make these devices supportable for my app?