我一直在 a 上测试我的大部分布局Galaxy 5 Media Player
,所有布局都在查看我如何在常规layout
文件夹中设计它们。我正在使用SDK 10
,所以我不使用layout-sw600dp
类型文件夹,而是使用/layout
,/layout-large
等。
虽然我的布局在 Galaxy 5 播放器上看起来不错,但当我在将要使用的其他设备上尝试它们时Lenovo Ideapad A1
,视图并不正确。我为 7" 平板电脑创建了一个新的 xml 文件/layout-large
,但现在预览中的内容与我设备上的内容不匹配。
我正在使用一个RelativeLayout
除了 8 个按钮之外什么都没有的。声明的第一个按钮与底部对齐,然后每个后面的按钮都放在它下面的上面,并带有一个marginBottom
参数集。
这是原始视图的 xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/v2"
android:gravity="center_horizontal"
android:orientation="vertical" >
<Button
android:id="@+id/exitButton"
android:layout_width="350dp"
android:layout_height="60dp"
android:layout_marginBottom="36dp"
android:layout_alignParentBottom="true"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_exit" />
<Button
android:id="@+id/findDeviceButton"
android:layout_width="350dp"
android:layout_height="60dp"
android:layout_marginBottom="18dp"
android:layout_above="@id/exitButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_find_device" />
<Button
android:id="@+id/cebusButton"
android:layout_width="350dp"
android:layout_height="60dp"
android:layout_marginBottom="18dp"
android:layout_above="@id/findDeviceButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_cebus" />
<Button
android:id="@+id/operationsButton"
android:layout_width="350dp"
android:layout_height="60dp"
android:layout_marginBottom="18dp"
android:layout_above="@id/cebusButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_operations" />
<Button
android:id="@+id/monitorButton"
android:layout_width="350dp"
android:layout_height="60dp"
android:layout_marginBottom="18dp"
android:layout_above="@id/operationsButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_monitor" />
<Button
android:id="@+id/wavesButton"
android:layout_width="350dp"
android:layout_height="60dp"
android:layout_marginBottom="18dp"
android:layout_above="@id/monitorButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_waves" />
<Button
android:id="@+id/statusButton"
android:layout_width="350dp"
android:layout_height="60dp"
android:layout_marginBottom="18dp"
android:layout_above="@id/wavesButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_status" />
<Button
android:id="@+id/more_parametersButton"
android:layout_width="350dp"
android:layout_height="60dp"
android:layout_marginBottom="18dp"
android:layout_above="@id/statusButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_parameters" />
</RelativeLayout>
当我在我的 7" 设备上运行它时,按钮很大并且超出了屏幕顶部。但是在它的预览中Eclipse
,按钮都很好地适合屏幕。为什么预览会显示不同的视图超出我的预期?
编辑:
我已调整 XML 文件以使其在我的平板电脑上工作。尽管现在预览看起来更糟,但以下 XML 文件会在我的设备上生成我想要的结果。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/v2"
android:gravity="center_horizontal"
android:orientation="vertical" >
<Button
android:id="@+id/exitButton"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginBottom="30dp"
android:layout_alignParentBottom="true"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_exit" />
<Button
android:id="@+id/findDeviceButton"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginBottom="15dp"
android:layout_above="@id/exitButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_find_device" />
<Button
android:id="@+id/cebusButton"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginBottom="15dp"
android:layout_above="@id/findDeviceButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_cebus" />
<Button
android:id="@+id/operationsButton"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginBottom="15dp"
android:layout_above="@id/cebusButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_operations" />
<Button
android:id="@+id/monitorButton"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginBottom="15dp"
android:layout_above="@id/operationsButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_monitor" />
<Button
android:id="@+id/wavesButton"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginBottom="15dp"
android:layout_above="@id/monitorButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_waves" />
<Button
android:id="@+id/statusButton"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginBottom="15dp"
android:layout_above="@id/wavesButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_status" />
<Button
android:id="@+id/more_parametersButton"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginBottom="15dp"
android:layout_above="@id/statusButton"
android:textColor="@android:color/white"
android:background="@drawable/sel_button_round"
android:text="@string/main_parameters" />
</RelativeLayout>