Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取Android手机的大小_Android - Fatal编程技术网

获取Android手机的大小

获取Android手机的大小,android,Android,我想得到Android手机的尺寸,但尺寸单位是毫米,而不是像素 ,但我想做一些RND,为此我想得到屏幕的宽度,单位为mm 与Galaxy S4相似,尺寸为136.6 x 69.8 x 7.9毫米(5.38 x 2.75 x 0.31英寸) 虽然我是iPhone开发者,但我是Android的初学者(1天宝宝)。下面是我作为RND想要做的事情 假设设计师为我设计了尺寸为1080*1920的应用程序,标题的大小为30px(精确覆盖80%)的屏幕大小 这意味着左侧有10%的空间,文本有80%,右侧有10

我想得到Android手机的尺寸,但尺寸单位是毫米,而不是像素

,但我想做一些RND,为此我想得到屏幕的宽度,单位为mm

与Galaxy S4相似,尺寸为136.6 x 69.8 x 7.9毫米(5.38 x 2.75 x 0.31英寸)

虽然我是iPhone开发者,但我是Android的初学者(1天宝宝)。下面是我作为RND想要做的事情

假设设计师为我设计了尺寸为1080*1920的应用程序,标题的大小为30px(精确覆盖80%)的屏幕大小

这意味着左侧有10%的空间,文本有80%,右侧有10%的空间

我知道在Android中我们有一个叫做sp或
Android:textAppearance=“@Android:style/textAppearance.Large”
,但这不会给10%的空间

我想要实现的是,无论大小,设计都应该是一样的


考虑到设计与宽度相适应,如果高度增加,我会选择scrollview,我也同意。

使用DisplayMetrics。API是: 您可以对给定的字段执行计算,获得以英寸为单位的高度和宽度,然后将其转换为毫米。

“像素密度”是每英寸的像素数。因此,
dpi
为您提供了所需的比例因子,以便设备上的像素数保持一致

另一种说法是,如果你有一个480像素的hdpi屏幕,那么一个360像素的mdpi屏幕的物理尺寸大致相同。虽然屏幕大小可能会有所不同,但通常并不那么重要。尽管如此,如前所述,请参阅这篇关于进行实际计算的帖子:

然而,您在示例中讨论的是屏幕大小的百分比。如果您知道屏幕大小(以像素为单位),那么物理大小无关紧要,只需使用像素进行计算即可。如果你有480像素,10%是48

您不能在XML中这样做,听起来您可能想要这样做。您可以使用“加权线性布局”进行屏幕大小的运行时计算。您还可以根据屏幕大小使用不同的
res
文件夹(如
res/layout hdpi


你可能想从谷歌上读到这篇关于支持不同屏幕尺寸的文章:

可能重复@Krupal的内容OP在第1行明确要求以毫米为单位而不是以像素为单位的尺寸
有人知道这个尺寸是什么吗?
这是设备的深度
136.6 x 69.8 x 7.9毫米(5.38 x 2.75 x 0.31英寸)
is
height x width x depth
理论上,您可以使用显示密度和像素大小转换为物理大小,但实际上这不起作用,因为密度并不精确
136.6 x 69.8 x 7.9 mm (5.38 x 2.75 x 0.31 in)
               ^^^
               Does any one knows what is this size for?