2013-07-14 27 views
0

我正在创建我的第一个应用程序,它非常简单,创建它时我在我的手机(gs3 4.8英寸)上测试了应用程序。但是,当我用不同的手机测试它时,整个事情都被扭曲了。我想知道我该如何解决这个问题,或者如果我把所有的东西都弄错了。我没有足够的声望点发布图片,但我会描述发生的情况。我有一个带有按钮的背景图像,按钮必须位于一个非常特殊的位置,如果没有,整个事情看起来都会搞砸。我的代码是如何构建应用程序以适应Android xml中的所有屏幕尺寸

<?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> 

+0

也许你可以以编程方式设置按钮的宽度/高度,而不是在XML中设置值。 – michaelcarrano

+0

这个我帮你http://petrnohejl.github.io/Android-Cheatsheet-For-Graphic-Designers/ – Alamri

回答

0

来处理这个变化,你必须创建布局大和布局XLARGE在res文件夹。然后从布局文件夹复制layout.xml并粘贴到您创建的两个新文件夹中。然后从eclipseGraphical Layout你会看到你的布局将如何在不同的设备中看起来像,并从那里你将不得不编辑布局,以适应其他屏幕尺寸。这是处理android中不同屏幕的最简单方法。希望对你有所帮助。

相关问题