简体   繁体   中英

Android App is not fitting to different screen sizes

I am almost done with this app, but now that I test it on different devices, all the elements aren't fitting the same way. How do I make it scalable to fit different screens? Or do i have to remake the entire UI from scratch?

XML File

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

The answer would be too large... If you mean to keep the proportions you can use weight rather than dps. Anyway I recomend you to read this article:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM