Android:在不同尺寸的Android屏幕上更改ImageView的位置

时间:2015-02-13 10:06:11

标签: android android-layout

我正在开发类似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>

1 个答案:

答案 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,无论屏幕尺寸如何,两个文本视图都将平等分享屏幕。