如何绘制图形元素,使其大小在每台机器上保持不变?

时间:2011-10-28 06:55:00

标签: android size graphic

我需要在每个设备上绘制一个大小相同的正方形。我打算画一个图形按钮,我不希望它比普通手指小得多(或者更大)。

有没有办法确保我绘制的元素(在这种情况下是正方形)不会调整大小?我需要它总是相同的尺寸,以厘米为单位。

此致

m.k的。

3 个答案:

答案 0 :(得分:1)

每个设备都有自己的屏幕密度。 Android允许您将视图的尺寸放在:

dp:与密度无关的像素 - 基于屏幕物理密度的抽象单位。这些单位相对于160 dpi(每英寸点数)的屏幕,因此无论屏幕密度如何,160dp始终为1英寸。 dp与像素的比率将随着屏幕密度而变化,但不一定成正比。在布局中指定视图尺寸时应使用这些单位,因此UI可以适当缩放以在不同屏幕上以相同的实际尺寸渲染。 (编译器同时接受“dip”和“dp”,但“dp”更符合“sp”。)

sp:与比例无关的像素 - 这与dp单位类似,但它也会根据用户的字体大小首选项进行缩放。建议您在指定字体大小时使用此单位,以便根据屏幕密度和用户偏好调整它们。

pt:积分 - 根据屏幕的物理尺寸1/77英寸。

px:像素 - 对应于屏幕上的实际像素。建议不要使用此计量单位,因为实际表示可能因设备而异;每个设备每英寸可能有不同数量的像素,并且屏幕上可用的总像素数可能更多或更少。

mm:毫米 - 基于屏幕的物理尺寸。

in:英寸 - 基于屏幕的物理尺寸。

例如:

<View
    android:layout_width:"10dp"
    android:layout_height:"10dp"
    android:background:"#FFFFFF"
/>

您还可以将尺寸保存为在代码中使用它们的资源。 see this

答案 1 :(得分:0)

每个设备上的

计算图形的尺寸为:高度/密度,宽度/密度和其他尺寸

答案 2 :(得分:0)

这就是DP装置的用途。

这是一个非常有趣的讲座,它还说明了如果您使用px而不是dp会发生什么:您在不同的设备上获得不同的UI大小:

http://developer.android.com/guide/practices/screens_support.html

(特定段落密度独立性

您可能还想查看android属性android:minWidthandroid:minHeight