如何构建应用程序以适应android xml中的所有屏幕大小

时间:2013-07-14 21:01:32

标签: android xml android-layout screen-size

我正在创建我的第一个应用程序,它非常简单,在创建它时,我在手机上测试了应用程序(gs3 4.8英寸)。然而,当我用不同的手机测试时,整个事情都被扭曲了。我想知道我怎么能解决它,或者我是否把整个事情弄错了。我没有足够的声望点来发布图片,但我会描述会发生什么。我有一个带有按钮的背景图像,按钮必须在一个非常特定的位置,如果不是整个事情看起来搞砸了。我的代码是

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<ImageView
    android:id="@+id/ivReturnedPic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:src="@drawable/newbeach3" />

<TextView
android:id="@+id/textView1"

android:layout_width="wrap_content"
android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="300dp"
android:layout_marginTop="570dp"
android:text="Intensity:" />

 SeekBar
android:id="@+id/seekBar1"
android:layout_width="355dp"
android:layout_height="wrap_content"
    android:layout_marginTop="590dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="top" >

<Button
    android:id="@+id/bvibrate2"
    android:layout_width="160dp"
    android:layout_height="35dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="14dp"
    android:layout_marginTop="175dp"
    android:background="@drawable/piece2"
    android:text="Pattern 2" />

<Button
    android:id="@+id/bvibrate1"
    android:layout_width="160dp"
    android:layout_height="35dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="187dp"
    android:layout_marginTop="175dp"
    android:background="@drawable/piece1"
    android:text="Pattern 1" />

<Button
    android:id="@+id/bvibrate3"
    android:layout_width="160dp"
    android:layout_height="35dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="187dp"
    android:layout_marginTop="291dp"
    android:background="@drawable/piece3"
    android:text="Pattern 3" />

<Button
    android:id="@+id/bvibrate4"
    android:layout_width="160dp"
    android:layout_height="35dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="14dp"
    android:layout_marginTop="291dp"
    android:background="@drawable/piece4"
    android:text="Pattern 4" />

<Button
    android:id="@+id/bvibrate6"
    android:layout_width="160dp"
    android:layout_height="35dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="14dp"
    android:layout_marginTop="407dp"
    android:background="@drawable/piece6"
    android:text="Pattern 6" />

<Button
    android:id="@+id/bvibrate5"
    android:layout_width="160dp"
    android:layout_height="35dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="187dp"
    android:layout_marginTop="407dp"
    android:background="@drawable/piece5"
    android:text="Pattern 5" />

<Button
    android:id="@+id/bvibrate7"
    android:layout_width="160dp"
    android:layout_height="35dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="187dp"
    android:layout_marginTop="523dp"
    android:background="@drawable/piece7"
    android:text="Pattern 7" />

<Button
    android:id="@+id/bvibrate8"
    android:layout_width="160dp"
    android:layout_height="35dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="14dp"
    android:layout_marginTop="523dp"
    android:background="@drawable/piece8"
    android:text="Pattern 8" />

<Button
    android:id="@+id/bstop"
    android:layout_width="87dp"
    android:layout_height="87dp"
    android:layout_alignParentTop="true"
    android:layout_alignRight="@+id/bvibrate1"
    android:layout_marginRight="29dp"
    android:layout_marginTop="52dp"
    android:background="@drawable/square"
    android:text="Stop" />
</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

要处理此更改,您必须在res文件夹中创建layout-large和layout-xlarge。然后从layout文件夹中复制layout.xml并粘贴到您创建的两个新文件夹中。然后从eclipse Graphical Layout,您将看到您的布局在不同设备中的外观,并且您必须编辑布局以适应其他屏幕尺寸。这是处理android中不同屏幕的最简单方法。希望对你有所帮助。