在像素方面我可以制作Android应用程序的画布有多大?

时间:2010-03-13 18:18:46

标签: android

我已经确定了我的Android模拟器屏幕大小的估计值,虽然我认为它的分辨率可以更改为其他数字。坦率地说,虽然这并没有消除一般的问题,即我不知道每个轴上有多少像素,我必须在我的Android应用程序上使用。

我正在尝试解决的主要问题是:如果我想保持大小不变​​(如果应用程序屏幕缩小,对于Android应用程序,我如何确保不使用错误的解决方案)如果我希望用每个程序的单一通用分辨率来实现这些实例,那么对象仍然会显示出同样大的数量 - 它们将不会被显示出来。如果不这样做,如果我尝试用一​​些不同的预设分辨率来做同样的事情,我如何确保一切正常?

主要看起来像是一个必须回答的相关问题,在我能够找到一般问题的完整答案之前,我总能以像素为单位制作应用程序,而不是关于用户是否以及何时调整应用程序屏幕的大小小于手机及其操作系统允许的最大尺寸的东西。

我真的想尽量保持这一点。例如,如果我在现代桌面上这样做,我知道如果我使用800x600画布设计应用程序,用户仍然可以将应用程序缩小到他们没有做任何好处的程度,但至少我可以基本上指望它工作正常,而不是对显示器或其他东西太大。假设我正在为API级别3+(Android 1.5 +)进行设计吗?对于Android有这样一个神奇的解决方案吗?

由于

1 个答案:

答案 0 :(得分:1)

嗯,我建议你读这个:Supporting Multiple Screens。这提供了有关如何处理不同屏幕尺寸的丰富信息。特别是,请阅读其密度无关像素与绝对像素的概念。与密度无关的像素基本上是像素大小,系统会根据您正在处理的屏幕大小自动缩放像素大小。它将“标准”屏幕视为G1,Hero或类似设备的屏幕,即480x320像素,密度为160dpi。如果您正在使用的屏幕大于Droid或Nexus One,它会将所有与密度无关的像素大小调整50%。

或者,如果您真的在讨论画布,例如动画等Canvas,则可以调用canvas.getWidth()和canvas.getHeight()。