Search code examples
androideclipseuser-interfacescreen-sizexml-layout

Sacle View items size accordng to device


I'm new to android UI development.I noticed that in my code The sizes of the buttons and text boxes are fixed and independent from the display size of the phone. how can i change this code such that buttons scale their size according to screen size of device?

this is my code if helps

<?xml version="1.0" encoding="utf-8"?>
<GridLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:columnCount="4"
android:orientation="horizontal" >

<Button android:text="" 
    android:id="@+id/b0"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b1"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b2"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b3"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b4"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b5"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b6"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b7"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b8"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b9"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b10"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b11"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b12"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b13"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b14"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<Button android:text="" 
    android:id="@+id/b15"
    android:padding="20dp"
    android:layout_margin="10dp"/>

<TextView
    android:id="@+id/text1"
    android:layout_columnSpan="2"
    android:layout_gravity="fill"
    android:textSize="30sp"
    android:text="  Taget:-" />

<TextView
    android:id="@+id/tar"
    android:layout_columnSpan="2"
    android:layout_gravity="fill"
    android:textSize="30sp"
    android:text="" />

<TextView
    android:id="@+id/text2"
    android:layout_columnSpan="2"
    android:layout_gravity="fill"
    android:textSize="30sp"
    android:text="  Current:-" />

<TextView
    android:id="@+id/cur"
    android:layout_columnSpan="2"
    android:layout_gravity="fill"
    android:textSize="30sp"
    android:text="" />


</GridLayout>

Solution

  • There are different methods for that. I think answers for this question give you a better solution.