0

I want to resize my app's layout according to the screen sizes available but could not achieve the same. I made two layouts for landscape and portrait mode, but its contents(edit texts) which are included inside a linear layout are not getting resized according to the screens.

Here are my layouts:

Activity_Login(portrait):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
tools:context="com.prosares.intralive.LoginActivity2">


<LinearLayout
    android:id="@+id/lin_all"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:orientation="vertical"
    android:layout_gravity="center">



<ImageView
    android:id="@+id/background"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:adjustViewBounds="true"
    android:scaleType="centerCrop"
    android:src="@drawable/login"

    />


</LinearLayout>



<LinearLayout
    android:id="@+id/lin_all1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
   >

<EditText
    android:layout_width="wrap_content"
    android:inputType="textPersonName"
    android:hint="Username"
    android:layout_height="wrap_content"
    android:ems="10"
    android:background="@drawable/eventpopuprect"
    android:drawableLeft="@drawable/username"
    android:id="@+id/editText"
    android:layout_weight="1"
    android:text=""
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:layout_gravity="center"/>

<EditText
    android:layout_width="wrap_content"
    android:inputType="textPassword"
    android:layout_height="wrap_content"
    android:ems="10"
    android:layout_weight="1"
    android:layout_marginTop="10dp"
    android:background="@drawable/eventpopuprect"
    android:drawableLeft="@drawable/password"
    android:id="@+id/editText2"
    android:layout_below="@+id/editText"
    android:layout_alignLeft="@+id/editText"
    android:layout_alignStart="@+id/editText"
    android:hint="password"
    android:text=""
    android:layout_alignRight="@+id/editText"
    android:layout_alignEnd="@+id/editText"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:layout_gravity="center"/>

<ImageButton
    android:layout_width="80dp"
    android:layout_height="30dp"
    android:id="@+id/imageButtonLogin"
    android:layout_marginTop="10dp"
    android:background="@drawable/login_button"
    android:layout_below="@+id/editText2"
    android:layout_alignRight="@+id/editText2"
    android:layout_alignEnd="@+id/editText2"
    android:layout_gravity="right"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true" />

</LinearLayout>

Activity_Login(landscape):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.prosares.intralive.LoginActivity2"
android:orientation="vertical">


<LinearLayout
    android:id="@+id/lin_all"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:orientation="vertical">

<ImageView
    android:id="@+id/background"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:adjustViewBounds="true"
    android:scaleType="centerCrop"
    android:src="@drawable/login"

    />

<LinearLayout
    android:id="@+id/lin_all1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:orientation="vertical">

<EditText
    android:layout_width="wrap_content"
    android:layout_marginTop="10dp"
    android:inputType="textPersonName"
    android:hint="Username"
    android:layout_height="wrap_content"
    android:ems="10"
    android:background="@drawable/eventpopuprect"
    android:drawableLeft="@drawable/username"
    android:id="@+id/editText"
    android:text=""
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<EditText
    android:layout_width="wrap_content"
    android:inputType="textPassword"
    android:layout_height="wrap_content"
    android:ems="10"
    android:layout_marginTop="10dp"
    android:background="@drawable/eventpopuprect"
    android:drawableLeft="@drawable/password"
    android:id="@+id/editText2"
    android:layout_below="@+id/editText"
    android:layout_alignLeft="@+id/editText"
    android:layout_alignStart="@+id/editText"
    android:hint="password"
    android:text=""
    android:layout_alignRight="@+id/editText"
    android:layout_alignEnd="@+id/editText"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"/>

<ImageButton
    android:layout_width="80dp"
    android:layout_height="30dp"
    android:id="@+id/imageButtonLogin"
    android:layout_marginTop="10dp"
    android:background="@drawable/login_button"
    android:layout_below="@+id/editText2"
    android:layout_alignRight="@+id/editText2"
    android:layout_alignEnd="@+id/editText2"
    android:layout_gravity="right" />
</LinearLayout>

Yogesh Patel
  • 195
  • 2
  • 14

1 Answers1

5

You have set width and height as wrap_content. Go for giving the static height with with the help of different values folders for different screen sizes. In different files you have to give same dimen name with different values.

res/values/dimens.xml(default)
res/values-ldpi/dimens.xml   (240x320 and nearer resolution)
res/values-mdpi/dimens.xml   (320x480 and nearer resolution)
res/values-hdpi/dimens.xml   (480x800, 540x960 and nearer resolution)
res/values-xhdpi/dimens.xml  (720x1280 - Samsung S3, Micromax Canvas HD, etc) 
res/values-xxhdpi/dimens.xml (1080x1920 - Samsung S4, HTC one, etc)
res/values-large/dimens.xml  (480x800)

res/values-large-mdpi/dimens.xml (600x1024)
res/values-sw600dp/dimens.xml  (600x1024)
res/values-sw720dp/dimens.xml  (800x1280)
res/values-xlarge-xhdpi/dimens.xml (2560x1600 - Nexus 10")
res/values-large-xhdpi/dimens.xml  (1200x1920 - Nexus 7"(latest))
Preetika Kaur
  • 1,991
  • 2
  • 16
  • 23