我正在开发类似app的游戏,用户必须在给定时间内找到不同的对象。
当我在不同的设备上安装相同的游戏时,所有东西都在我的手机上工作,但对象的位置会发生变化。基本上我选择了背景图像(布局背景)并在其上找到不同的对象,并且必须在特定位置隐藏对象。
他们在不同手机上的位置不同,我使用的是Eclipse,我使用RelativeLayout
检查了它,LinearLayout
并在相对内部线性化,反之亦然抛出java代码如下所示
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/background2" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/img1"
android:layout_marginLeft="100dp"
android:layout_marginTop="100dp" />
</LinearLayout>
答案 0 :(得分:1)
而不是使用
android:layout_marginTop="100dp"
你应该使用
android:layout_weight
原因是因为即使您更改了设备的方向,您的应用的布局也不会保持一致。 例如尝试类似:
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_gravity="center"
android:id="@+id/tv_c"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="wrap_content" />
<TextView
android:layout_gravity="center"
android:layout_width="0dp"
android:layout_weight="0.5"
android:layout_height="wrap_content">
</LinearLayout>
这个gaurantees,无论屏幕尺寸如何,两个文本视图都将平等分享屏幕。