问题标签 [density-independent-pixel]
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.
android - 如何找到手机所在的密度桶?
有点菜鸟的问题,但在计算手机落入的密度桶时我感到困惑。我将以我的 Galaxy S3 为例。
它有一个分辨率,1280 x 720
这意味着它有306 dpi
。现在,参考下面的图表,我的手机属于这一hdpi
类,因为它的屏幕多于240 dpi
但少于320 dpi
所需的xhdpi
屏幕。所以,电话是853 x 480 DP
(除以 1.5)
但是,我手机上的屏幕信息应用程序告诉我这是一个xhdpi
屏幕。所以,电话是640 x 360 DP
(除以2)。
我怎么知道我的手机属于哪个正确的密度桶?
更新:
我正在尝试为我所在国家/地区排名前 10 位的 Android 手机设计我的应用程序。所以我正在计算它们在 DP 中的大小,以根据它们的“最小宽度 DP”来设计 UI。这不是一次性的大小计算。
android - 我是否正确添加布局?
在对我国排名前 10 位的手机和平板电脑进行了之前的研究后,我可以将它们分类如下:
因此,鉴于我支持 API 级别 11 及更高级别,我将需要包括指定布局的旧方法和新方法。因此,对于旧版本,我的布局将如下所示:
较新的sw<N>dp
看起来像这样(对于手机):
所以,这里有几个问题:
- 我是否正确添加了具有较新限定符的布局?
- 官方文档声明
426dp x 320dp
并470dp x 320dp
以适当的屏幕尺寸为例。我有一个比较奇怪的533dp x 320dp
。我在计算 DP 大小时出错了吗? - 甚至不需要限定符的默认布局还是过度杀伤?
android - 安卓和谐像素
我会用一张图片来解释我的问题!
我用手指画了一个图形,同时将坐标发送给客户端。如您所知,我正在使用硬编码像素。算法很简单,将像素发送到客户端并填充客户端上的像素。
如果抽屉电话的分辨率高于客户,问题就会出现(缺失或半形状)。
如果抽屉电话的弹性低于客户,则边缘有空白区域。
顺便说一句,我正在使用信号器与客户端和服务器进行通信。
android - 使用 Canvas 绘制矩形以适应指定宽度的屏幕
使用下面给出的代码,我们可以检索特定屏幕尺寸的高度和宽度:
我想连续绘制矩形,如图所示。我选择了矩形宽度的默认值为 100(在 drawRect() 中,我将左右点之间的差设为 100,因此每个矩形的宽度为 100)。如图所示,每个矩形都包含数字。现在,如果数字数量很少,则可以很好地呈现矩形和数字。但是如果位数很大,矩形就会超出屏幕。对于这种情况,我会计算矩形(包括填充、逗号等)的总宽度,并将其与屏幕宽度进行比较。我的代码有问题,因为我得到的宽度在 DP 中,而我计算的宽度不是。如何更改矩形覆盖的总宽度的计算,以便如果此宽度大于屏幕宽度,
另外,我想渲染矩形“居中对齐”。我如何做到这一点。
下面给出的是图像:
该类的代码如下:
在上面的代码中,我试图缩小矩形和矩形内的文本。
android - How to convert DP, PX, SP among each other, especially DP and SP?
I have known the difference among DP, SP and PX. And after searching this topic, I found nothing satisfying me completely. Maybe this post is a duplicate, but I still want to know what is the formula of converting from DP to PX, and DP to SP, from SP to PX, from PX to SP, from SP to DP, from DP to SP? I have known some codes to do this, but they are imperfect.
c# - 如何在 MVC 环境中实现 DIP?
依赖倒置原则指出高层模块不应该依赖于低层模块。两者都应该依赖于抽象。我明白这个道理。但是当我使用 ASP.NET MVC 时,我经常将我的控制器方法设置为:
我相信这违反了 DIP,因为我的控制器的结果取决于 User 类。在这种情况下,我想不出一种将 Controller 与我的 User 类分离的方法。有没有办法摆脱这种依赖?或者在这种情况下这样做就可以了吗?
android - opencv实时视频帧在android中不显示sobel输出
我是opencv的新手。我想在android中使用opencv对实时视频应用sobel过滤器,但我没有这样做。当我在opencv中使用sobel的内置函数时,它给了我白色的空白屏幕。我搜索了很多但没有找到我的错误..
android - 两个尺寸相同但分辨率不同的屏幕
假设我们有两个屏幕尺寸相同但分辨率不同的安卓设备。以下是否正确:如果使用 dp 单位设置所有视图的大小,则两个屏幕将显示相同数量的内容,唯一的区别将是视图的清晰度。
java - 如何在绘制之前获取调整大小的自定义视图的宽度和高度
在我的自定义 View .xml 中,我将宽度和高度定义为w = 600dp , h = 700dp
. 现在我知道 getMeasuredHeight() / getMeasuredWidth() 在绘制视图后给出宽度和高度值,它们可能与我在 .xml 文件中给出的值不同,是否有一种解决方法可以在视图实际绘制在布局上之前getMeasuredHeight()
获取值getMeasuredWidth()
, 不使用onMeasure()
?
以及如何计算dp
不同屏幕中更改的尺寸?像我600h*700w
在模拟器上运行时转换为300*300
.
android - Android - 关于 dp 和像素之间转换的难题
我知道这可能是一个愚蠢的问题,但我确实经历了如此多的材料和链接,但仍然不太了解。在Android开发文档的“支持多屏”一节中,它是这样介绍dp的:
与密度无关的像素 (dp)
定义 UI 布局时应使用的虚拟像素单位,以与密度无关的方式表示布局尺寸或位置。与密度无关的像素相当于 160 dpi 屏幕上的一个物理像素,这是系统为“中等”密度屏幕假定的基线密度。在运行时,系统会根据使用中屏幕的实际密度,根据需要透明地处理 dp 单位的任何缩放。dp 单位到屏幕像素的转换很简单:px = dp * (dpi / 160)。例如,在 240 dpi 的屏幕上,1 dp 等于 1.5 个物理像素。在定义应用程序的 UI 时,您应该始终使用 dp 单位,以确保您的 UI 在不同密度的屏幕上正确显示。
基本上我理解这样一个事实,即具有更高 dpi 的屏幕在单个物理英寸中会有更多的像素,这意味着这种屏幕中的 dp 将等于更多的物理像素(px)。
但是根据上面的换算公式(粗体),在dpi较高的屏幕(例如240 dpi的屏幕)中,a px = (240 / 160) * dp = 1.5dp。这似乎意味着在更高 dpi 的屏幕中 px 将等于更多 dp。这看起来与我之前的理解相冲突。
所以,拜托,谁能帮我解决这个棘手的问题。非常感谢,真的。