2011-10-17 34 views
0

我正在为android创建游戏,我无法弄清楚如何保持不同设备的布局相同。我希望它看起来像从我的小手机到银河系一样。这是我现在正在做的。我试图在构造函数中获得维度,但它给了我错误,所以我在onDraw类中构建了我自己的迷你构造函数。设置用户界面在不同的设备上是相同的

protected void onDraw(Canvas canvas) { 
if (startup){//constructor part 2 
     startup=false; 
     height=canvas.getHeight(); 
     width=canvas.getWidth(); 
     xinc=width/(7/2); 
     yinc=height/5; 
     radius=width/6; 

等等。这是做这件事的最好方法吗?在我看来,应该有另一种更好的方式来做到这一点。另外,所有的Android设备都有相同的宽度/高度(我认为它的宽高比)?提前致谢。

-Derek

回答

0

在Android UI中,通常使用xml编写并保存在布局文件夹中。不同的资源文件夹可以被赋予不同的名称,这将允许android根据不同的条件引用它们。

link来自android文档,它解释了resoucrce文件夹可以采用的不同名称。

假设您的图像在不同手机中应具有不同的尺寸。 你可以把图像具有相同名称的

绘制-LDPI/

绘制-MDPI/

绘制,华电国际/

所以对于一个ImageView的当您使用命令

imageview.setImageResource(R.drawable.icon); 

Android会检查手机的密度并自动从相应文件夹中取出图标图像。 'res'的布局和其他子文件夹也可以使用同样的方法

从你的问题中我发现你重写了一个视图的'onDraw'方法来完成UI。如果是这样的话,AFAIK你将不得不测量可用空间并以编程方式创建和测量你的UI。

相关问题