Android App不适合不同的屏幕尺寸

时间:2014-07-12 16:40:39

标签: java android mobile

我几乎已经完成了这个应用程序,但现在我在不同的设备上测试它,所有元素都不适合相同的方式。如何使其可扩展以适应不同的屏幕?或者我是否必须从头开始重新制作整个用户界面?

XML文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.rugpacalc.MainActivity$PlaceholderFragment" >

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/textView1"
    android:layout_marginLeft="35dp"
    android:layout_toRightOf="@+id/textView1"
    android:text="Credit  " />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView2"
    android:layout_alignBottom="@+id/textView2"
    android:layout_marginLeft="27dp"
    android:layout_toRightOf="@+id/textView2"
    android:text="Grade   " />

<EditText
    android:id="@+id/Course1"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/textView1"
    android:ems="10" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/editText3"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/editText2"
    android:ems="10" />

<EditText
    android:id="@+id/editText4"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/editText3"
    android:ems="10" />

<EditText
    android:id="@+id/editText5"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/editText4"
    android:ems="10" />

<EditText
    android:id="@+id/editText6"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/editText5"
    android:ems="10" />

<EditText
    android:id="@+id/editText8"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editText2"
    android:layout_alignBottom="@+id/editText2"
    android:layout_alignLeft="@+id/editText7"
    android:ems="10"

    android:inputType="numberDecimal" />

<EditText
    android:id="@+id/editText9"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editText3"
    android:layout_alignBottom="@+id/editText3"
    android:layout_alignLeft="@+id/editText8"
    android:ems="10"

    android:inputType="numberDecimal" />

<EditText
    android:id="@+id/editText10"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editText4"
    android:layout_alignBottom="@+id/editText4"
    android:layout_alignLeft="@+id/editText9"
    android:ems="10"

    android:inputType="numberDecimal" />

<EditText
    android:id="@+id/editText11"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editText5"
    android:layout_alignBottom="@+id/editText5"
    android:layout_alignLeft="@+id/editText10"
    android:ems="10"

    android:inputType="numberDecimal" />

<EditText
    android:id="@+id/editText12"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editText11"
    android:layout_below="@+id/editText5"
    android:ems="10"

    android:inputType="numberDecimal" />

<EditText
    android:id="@+id/editText13"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView3"
    android:layout_alignRight="@+id/textView3"
    android:layout_below="@+id/textView2"
    android:ems="10" />

<EditText
    android:id="@+id/editText14"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editText8"
    android:layout_alignBottom="@+id/editText8"
    android:layout_alignLeft="@+id/editText13"
    android:layout_alignRight="@+id/editText13"
    android:ems="10" />

<EditText
    android:id="@+id/editText15"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editText9"
    android:layout_alignBottom="@+id/editText9"
    android:layout_alignLeft="@+id/editText14"
    android:layout_alignRight="@+id/editText14"
    android:ems="10" />

<EditText
    android:id="@+id/editText16"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editText10"
    android:layout_alignBottom="@+id/editText10"
    android:layout_alignLeft="@+id/editText15"
    android:layout_alignRight="@+id/editText15"
    android:ems="10" />

<EditText
    android:id="@+id/editText17"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editText11"
    android:layout_alignBottom="@+id/editText11"
    android:layout_alignLeft="@+id/editText16"
    android:layout_alignRight="@+id/editText16"
    android:ems="10" />

<EditText
    android:id="@+id/editText18"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editText12"
    android:layout_alignBottom="@+id/editText12"
    android:layout_alignLeft="@+id/editText17"
    android:layout_alignRight="@+id/editText17"
    android:ems="10" />

<TextView
    android:id="@+id/textView5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/editText13"
    android:layout_alignParentRight="true"
    android:text="" />

<TextView
    android:id="@+id/textView6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/editText14"
    android:layout_alignParentRight="true"
    android:text="" />

<TextView
    android:id="@+id/textView7"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/editText16"
    android:layout_alignParentRight="true"
    android:text="" />

<TextView
    android:id="@+id/textView8"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/editText16"
    android:layout_alignParentRight="true"
    android:text="" />

<TextView
    android:id="@+id/textView9"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/editText17"
    android:layout_alignParentRight="true"
    android:text="" />

<TextView
    android:id="@+id/textView10"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/editText18"
    android:layout_alignParentRight="true"
    android:text="" />

<EditText
    android:id="@+id/editText7"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:layout_above="@+id/editText8"
    android:layout_toRightOf="@+id/Course1"
    android:ems="10"
    android:hint=""

    android:inputType="number|numberDecimal" />

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/textView3"
    android:layout_alignParentRight="true"
    android:text="CreditEd" />

<TextView
    android:id="@+id/textView12"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView11"
    android:layout_below="@+id/textView11"
    android:text="Total Credit Pts Earned:" />

<TextView
    android:id="@+id/textView13"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView12"
    android:layout_below="@+id/textView12"
    android:text="Cumulative GPA:" />

<TextView
    android:id="@+id/textView14"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView13"
    android:layout_below="@+id/textView13"
    android:layout_marginTop="14dp"
    android:text="Semester Credits" />

<TextView
    android:id="@+id/textView15"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView14"
    android:text="Semester Credit Points:" />

<TextView
    android:id="@+id/textView16"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView15"
    android:layout_below="@+id/textView15"
    android:text="Semester GPA:" />

<TextView
    android:id="@+id/textView17"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/textView11"
    android:layout_toLeftOf="@+id/textView4"
    android:text="" />

<TextView
    android:id="@+id/textView18"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView12"
    android:layout_alignBottom="@+id/textView12"
    android:layout_alignRight="@+id/textView17"
    android:text="" />

<TextView
    android:id="@+id/textView19"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/textView18"
    android:layout_below="@+id/textView18"
    android:text="" />

<TextView
    android:id="@+id/textView20"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView15"
    android:layout_alignLeft="@+id/textView19"
    android:text="" />

<TextView
    android:id="@+id/textView21"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView15"
    android:layout_alignBottom="@+id/textView15"
    android:layout_alignRight="@+id/textView20"
    android:text="" />

<TextView
    android:id="@+id/textView22"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/textView21"
    android:layout_below="@+id/textView21"
    android:text="" />

<TextView
    android:id="@+id/tv23"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/textView17"
    android:layout_toRightOf="@+id/editText18"
    android:text="TextView" />

<TextView
    android:id="@+id/tv24"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView18"
    android:layout_alignBottom="@+id/textView18"
    android:layout_alignLeft="@+id/tv23"
    android:text="TextView" />

<TextView
    android:id="@+id/tv25"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView14"
    android:layout_alignLeft="@+id/tv24"
    android:text="TextView" />

<TextView
    android:id="@+id/textView11"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView15"
    android:layout_below="@+id/button2"
    android:text="Total Credits Completed:" />

<Button
    android:id="@+id/button1"
    android:layout_width="60dp"
    android:layout_height="35dp"
    android:layout_alignLeft="@+id/button2"
    android:layout_alignRight="@+id/textView08"
    android:layout_below="@+id/editText6"
    android:layout_marginTop="70dp"
    android:text="Calculate" />

<Button
    android:id="@+id/button2"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:layout_alignLeft="@+id/textView11"
    android:layout_alignRight="@+id/textView08"
    android:layout_below="@+id/button1"
    android:text="Next" />

<EditText
    android:id="@+id/EditText01"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editText6"
    android:layout_below="@+id/editText6"
    android:ems="10" />

<EditText
    android:id="@+id/EditText02"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button1"
    android:layout_below="@+id/EditText01"
    android:ems="10" />

<EditText
    android:id="@+id/EditText05"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/EditText04"
    android:layout_alignLeft="@+id/editText18"
    android:layout_alignRight="@+id/editText18"
    android:ems="10" />

<EditText
    android:id="@+id/EditText06"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/EditText05"
    android:layout_alignRight="@+id/EditText05"
    android:layout_below="@+id/EditText03"
    android:ems="10" />

<TextView
    android:id="@+id/textView07"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/EditText05"
    android:layout_alignParentRight="true" />

<TextView
    android:id="@+id/textView08"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/EditText06"
    android:layout_alignParentRight="true" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Course1"
    android:layout_toLeftOf="@+id/editText8"
    android:ems="10" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/Course1"
    android:layout_alignParentTop="true"
    android:layout_marginTop="42dp"
    android:text="Course" />

<EditText
    android:id="@+id/EditText03"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:layout_above="@+id/EditText02"
    android:layout_toRightOf="@+id/EditText01"
    android:ems="10"

    android:inputType="numberDecimal" />

<EditText
    android:id="@+id/EditText04"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/EditText01"
    android:layout_toRightOf="@+id/EditText01"
    android:ems="10"

    android:inputType="numberDecimal" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="40dp"
    android:layout_alignLeft="@+id/textView1"
    android:layout_alignParentTop="true"
    android:ems="10"
    android:hint="Enter Semester" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

答案太大了...如果你想保持比例,你可以使用重量而不是dps。无论如何,我建议你阅读这篇文章:

http://developer.android.com/guide/practices/screens_support.html