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.