0

我想创建一个显示在所有设备上的布局,就像它在我的手机上一样。我试图让它适用于平板电脑,但它看起来很糟糕。这是它的样子: 在此处输入图像描述

但这是它在此平板电脑模拟器上的显示方式: 在此处输入图像描述

我该怎么做才能让它出现在所有屏幕尺寸上,就像在我的手机上一样?我目前正在使用相对布局。这是我的代码:

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout02"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<ImageView
    android:id="@+id/terranlogo1"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_centerHorizontal="true"
    android:src="@drawable/terranlogo" />

<ImageView
    android:id="@+id/protosslogo1"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_alignParentRight="true"
    android:src="@drawable/protosslogo" />

<ImageView
    android:id="@+id/zerglogo1"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_alignParentLeft="true"
    android:src="@drawable/zerglogo" />

<CheckBox
    android:id="@+id/ck_t1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/terranlogo1"
    android:layout_centerHorizontal="true" />

<CheckBox
    android:id="@+id/ck_p1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@id/protosslogo1"
    android:layout_below="@id/protosslogo1"
    android:layout_marginLeft="25dp" />

<CheckBox
    android:id="@+id/ck_z1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@id/zerglogo1"
    android:layout_below="@id/zerglogo1"
    android:layout_marginLeft="25dp" />

<ImageView
    android:id="@+id/terranlogo2"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_below="@id/ck_t1"
    android:layout_centerHorizontal="true"
    android:src="@drawable/terranlogo" />

<ImageView
    android:id="@+id/protosslogo2"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_alignParentRight="true"
    android:layout_below="@id/ck_p1"
    android:src="@drawable/protosslogo" />

<ImageView
    android:id="@+id/zerglogo2"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_alignParentLeft="true"
    android:layout_below="@id/ck_z1"
    android:src="@drawable/zerglogo" />

<CheckBox
    android:id="@+id/ck_t2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/terranlogo2"
    android:layout_centerHorizontal="true" />

<CheckBox
    android:id="@+id/ck_p2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@id/protosslogo1"
    android:layout_below="@id/protosslogo2"
    android:layout_marginLeft="25dp" />

<CheckBox
    android:id="@+id/ck_z2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@id/zerglogo1"
    android:layout_below="@id/zerglogo2"
    android:layout_marginLeft="25dp" />

<TextView
    android:id="@+id/textView4"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/ck_t2"
    android:layout_marginRight="18dp"
    android:layout_marginTop="17dp"
    android:gravity="center_vertical|center_horizontal"
    android:text="Choose your opponets race(s) and your race(s)"
    android:textSize="30dp" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:text="Game Length"
    android:textSize="15dp" />

<Spinner
    android:id="@+id/s_answertime"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView1"
    android:layout_alignParentLeft="true"
    android:layout_below="@id/textView4" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/terranlogo2"
    android:layout_alignParentBottom="true"
    android:gravity="center_horizontal"
    android:text="Mistakes Allowed"
    android:textSize="15dp" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:text="Answer Time"
    android:textSize="15dp" />





<Spinner
    android:id="@+id/s_mistakenumber"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/s_answertime"
    android:layout_alignTop="@+id/s_answertime"
    android:layout_toLeftOf="@+id/s_gametime"
    android:layout_toRightOf="@+id/s_answertime" />



<Spinner
    android:id="@+id/s_gametime"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView3"
    android:layout_alignLeft="@+id/protosslogo2"
    android:layout_alignTop="@+id/s_mistakenumber" />

</RelativeLayout>

Lijap,感谢所有帮助。

4

1 回答 1

1

由于您设置了 layout_above 和 layout_below,微调器被拉伸,因此它们会拉伸以适应这两个标准。删除其中一个(可能是 layout_above)并为它们设置合理的固定高度(75dp?)。

此外,您的最左边/最右边的图标/复选框可能会在一个健康的 margin_left/right=50dp 下看起来更好,以防止它们一直延伸到屏幕边缘。

于 2012-07-06T20:39:13.880 回答