我最近使用Eclipse开发了一款安卓游戏。我真的是新手,请原谅我,如果我要问的话太简单了。 >。<
应用程序在Eclipse中安装的Android模拟器中运行并完美呈现。但是,当我们尝试将它安装在三星Galaxy选项卡中时,它显然比模拟器有更大的屏幕,布局变得混乱。按钮不是正确的顺序等。我确实有使用XML布局的屏幕,有些是带有精灵的简单画布。知道如何将模拟器中的原始布局保留到平板电脑吗?我尝试使用RelativeLayout
代替LinearLayout
,但它仍无效。
任何帮助将不胜感激。谢谢!
一个XML文件代码,它是来自仿真器的相应屏幕,如下所示。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/MenuLayout" >
<Button android:id="@+id/btnNew"
android:layout_width="140px"
android:layout_height="65px"
android:layout_marginTop="160px"
android:background="@drawable/newgame"/>
<Button android:id="@+id/btnInst"
android:layout_width="140px"
android:layout_height="65px"
android:background="@drawable/instructions" />
<Button android:id="@+id/btnCredits"
android:layout_width="140px"
android:layout_height="65px"
android:background="@drawable/credits"/>
<Button android:id="@+id/btnExit"
android:layout_width="140px"
android:layout_height="65px"
android:background="@drawable/exit"/> </LinearLayout>
答案 0 :(得分:0)
您需要使用dpi而不是像素。 这是一个很好的资源。 http://developer.android.com/guide/practices/screens_support.html
答案 1 :(得分:0)
答案 2 :(得分:0)
根据您编辑过的问题和评论,以下是将布局更改为相对布局的方法:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/MenuLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button android:id="@+id/btnNew"
android:layout_width="140dip"
android:layout_height="65dip"
android:layout_marginTop="160dip"
android:background="@drawable/newgame"
android:layout_centerHorizontal="true"
android:layout_above="@+id/btnInst" />
<Button android:id="@+id/btnInst"
android:layout_width="140dip"
android:layout_height="65dip"
android:background="@drawable/instructions"
android:layout_centerHorizontal="true"
android:layout_above="@+id/btnCredits"/>
<Button android:id="@+id/btnCredits"
android:layout_width="140dip"
android:layout_height="65dip"
android:background="@drawable/credits"
android:layout_centerHorizontal="true"
android:layout_above="@+id/btnExit"/>
<Button android:id="@+id/btnExit"
android:layout_width="140dip"
android:layout_height="65dip"
android:background="@drawable/exit"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="25dip"/>
</RelativeLayout>
但是,如果你想要一个完美的解决方案,你需要设计3种尺寸的按钮和背景图片,并将它们放在各自的文件夹drawable-hdpi,drawable-mdpi和drawable-ldpi(以及用于平板电脑,来自2.2) ,你也可以有drawable-xhdpi!)。仔细阅读此article并在模拟器中测试您的布局尽可能多的屏幕(来自ADT 10.0,直接从xml中的Graphical Layout选项卡预览不同配置的布局非常容易。
此外,android:layout_marginTop="160dip"
和android:layout_marginBottom="25dip"
在相对布局中并不真正有用。我建议你尝试9-patch picture为你的背景,只有木板可伸缩按钮(虽然我不确定它的工作方式如此)。或者,我会有一个单独的图片与主菜单,我将其放在按钮上方,并在背景中仅保留树木和其他所有内容。
答案 3 :(得分:0)
最好为不同的屏幕尺寸提供不同的布局。在开发游戏时我也有同样的问题。完成它。 你可能已经提供了布局,所以你只是提供 布局 - 大,小,和xlarge.and反对你的布局你必须提供可绘制的文件夹,如hdpi,mdpi,ldpi,xdpi文件夹,你必须保存不同大小的图像58 * 58,75 * 75,100 * 100以便随后你检查它你会得到它。