For doing percentage of screen in android, we use PercentRelativeLayout:
Subclass of RelativeLayout
that supports percentage based dimensions and margins. You can specify dimension or a margin of child by using attributes with “Percent” suffix.
The attributes that you can use are:
layout_widthPercent
layout_heightPercent
layout_marginPercent
layout_marginLeftPercent
layout_marginTopPercent
layout_marginRightPercent
layout_marginBottomPercent
layout_marginStartPercent
layout_marginEndPercent
layout_aspectRatio
In our dependencies
compile 'com.android.support:percent:22.2.0'
Follow this example:
<?xml version="1.0" encoding="utf-8"?> <android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.thedeveloperworldisyours.percentrelativelayouts.MainActivity"> <TextView android:id="@+id/activity_main_text_view" android:layout_width="0dp" android:layout_height="0dp" android:layout_centerVertical="true" android:background="@android:color/darker_gray" android:gravity="center" android:text="width 69%" app:layout_heightPercent="10%" app:layout_marginLeftPercent="4%" app:layout_widthPercent="69%" /> <TextView android:id="@+id/activity_main_second_text_view" android:layout_width="0dp" android:layout_height="0dp" android:layout_centerVertical="true" android:layout_toRightOf="@+id/activity_main_text_view" android:background="@android:color/holo_red_dark" android:gravity="center" android:text="width 23%" app:layout_heightPercent="10%" app:layout_marginRightPercent="4%" app:layout_widthPercent="23%" /> </android.support.percent.PercentRelativeLayout>
We can see a big example:
<?xml version="1.0" encoding="utf-8"?> <android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/activity_calculator_black_transparent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingTop="90dp" android:weightSum="5" tools:context="com.thedeveloperworldisyours.unitconverterpro.calculator.CalculatorActivity"> <View android:layout_width="0dp" android:layout_height="0dp" android:layout_centerVertical="true" android:background="@drawable/calculator_background" app:layout_heightPercent="53%" app:layout_marginLeftPercent="2%" app:layout_marginRightPercent="2%" app:layout_widthPercent="100%" /> <com.thedeveloperworldisyours.unitconverterpro.common.view.AutoResizeTextView android:id="@+id/activity_calculator_result" android:layout_width="0dp" android:layout_height="0dp" android:layout_above="@+id/activity_calculator_divide" android:layout_toLeftOf="@+id/activity_calculator_remove" android:background="@drawable/calculator_text" android:inputType="text" android:maxLines="1" android:gravity="end" android:paddingRight="12dp" android:paddingLeft="12dp" android:textSize="@dimen/activity_calculator_size_text" app:layout_heightPercent="10%" app:layout_marginLeftPercent="4%" app:layout_widthPercent="69%" /> <ImageButton android:id="@+id/activity_calculator_remove" android:layout_width="0dp" android:layout_height="0dp" android:layout_above="@+id/activity_calculator_divide" android:layout_alignParentRight="true" android:src="@mipmap/ic_backspace_calculator" android:background="@drawable/calculator_remove_button" app:layout_heightPercent="10%" app:layout_marginRightPercent="4%" app:layout_widthPercent="23%" /> <!--fourth--> <com.thedeveloperworldisyours.unitconverterpro.common.view.StarjediButton android:id="@+id/activity_calculator_seven" android:layout_width="0dp" android:layout_height="0dp" android:layout_above="@+id/activity_calculator_multiply" android:layout_toLeftOf="@+id/activity_calculator_eight" android:background="@drawable/calculator_button" android:text="@string/activity_calculator_seven" android:textSize="@dimen/activity_calculator_size_text" app:layout_heightPercent="10%" app:layout_marginLeftPercent="4%" app:layout_widthPercent="23%" /> <com.thedeveloperworldisyours.unitconverterpro.common.view.StarjediButton android:id="@+id/activity_calculator_eight" android:layout_width="0dp" android:layout_height="0dp" android:layout_above="@+id/activity_calculator_multiply" android:layout_toLeftOf="@+id/activity_calculator_nine" android:background="@drawable/calculator_button" android:text="@string/activity_calculator_eight" android:textSize="@dimen/activity_calculator_size_text" app:layout_heightPercent="10%" app:layout_widthPercent="23%" /> <com.thedeveloperworldisyours.unitconverterpro.common.view.StarjediButton android:id="@+id/activity_calculator_nine" android:layout_width="0dp" android:layout_height="0dp" android:layout_above="@+id/activity_calculator_multiply" android:layout_toLeftOf="@+id/activity_calculator_divide" android:background="@drawable/calculator_button" android:text="@string/activity_calculator_nine" android:textSize="@dimen/activity_calculator_size_text" app:layout_heightPercent="10%" app:layout_widthPercent="23%" /> <com.thedeveloperworldisyours.unitconverterpro.common.view.BlackplotanButton android:id="@+id/activity_calculator_divide" android:layout_width="0dp" android:layout_height="0dp" android:layout_above="@+id/activity_calculator_multiply" android:layout_alignParentRight="true" android:background="@drawable/calculator_operator_button" android:text="@string/activity_calculator_divide" android:textSize="@dimen/activity_calculator_size_text_operator" app:layout_heightPercent="10%" app:layout_marginRightPercent="4%" app:layout_widthPercent="23%" /> <!--third--> <com.thedeveloperworldisyours.unitconverterpro.common.view.StarjediButton android:id="@+id/activity_calculator_four" android:layout_width="0dp" android:layout_height="0dp" android:layout_centerVertical="true" android:layout_toLeftOf="@+id/activity_calculator_five" android:background="@drawable/calculator_button" android:text="@string/activity_calculator_four" android:textSize="@dimen/activity_calculator_size_text" app:layout_heightPercent="10%" app:layout_marginLeftPercent="4%" app:layout_widthPercent="23%" /> <com.thedeveloperworldisyours.unitconverterpro.common.view.StarjediButton android:id="@+id/activity_calculator_five" android:layout_width="0dp" android:layout_height="0dp" android:layout_centerVertical="true" android:layout_toLeftOf="@+id/activity_calculator_six" android:background="@drawable/calculator_button" android:text="@string/activity_calculator_five" android:textSize="@dimen/activity_calculator_size_text" app:layout_heightPercent="10%" app:layout_widthPercent="23%" /> <com.thedeveloperworldisyours.unitconverterpro.common.view.StarjediButton android:id="@+id/activity_calculator_six" android:layout_width="0dp" android:layout_height="0dp" android:layout_centerVertical="true" android:layout_toLeftOf="@+id/activity_calculator_multiply" android:background="@drawable/calculator_button" android:text="@string/activity_calculator_six" android:textSize="@dimen/activity_calculator_size_text" app:layout_heightPercent="10%" app:layout_widthPercent="23%" /> <com.thedeveloperworldisyours.unitconverterpro.common.view.BlackplotanButton android:id="@+id/activity_calculator_multiply" android:layout_width="0dp" android:layout_height="0dp" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:background="@drawable/calculator_operator_button" android:text="@string/activity_calculator_multiply" android:textSize="@dimen/activity_calculator_size_text_operator" app:layout_heightPercent="10%" app:layout_marginRightPercent="4%" app:layout_widthPercent="23%" /> <!--second--> <com.thedeveloperworldisyours.unitconverterpro.common.view.StarjediButton android:id="@+id/activity_calculator_one" android:layout_width="0dp" android:layout_height="0dp" android:layout_below="@+id/activity_calculator_multiply" android:layout_toLeftOf="@+id/activity_calculator_two" android:background="@drawable/calculator_button" android:text="@string/activity_calculator_one" android:textSize="@dimen/activity_calculator_size_text" app:layout_heightPercent="10%" app:layout_marginLeftPercent="4%" app:layout_widthPercent="23%" /> <com.thedeveloperworldisyours.unitconverterpro.common.view.StarjediButton android:id="@+id/activity_calculator_two" android:layout_width="0dp" android:layout_height="0dp" android:layout_below="@+id/activity_calculator_multiply" android:layout_toLeftOf="@+id/activity_calculator_three" android:background="@drawable/calculator_button" android:text="@string/activity_calculator_two" android:textSize="@dimen/activity_calculator_size_text" app:layout_heightPercent="10%" app:layout_widthPercent="23%" /> <com.thedeveloperworldisyours.unitconverterpro.common.view.StarjediButton android:id="@+id/activity_calculator_three" android:layout_width="0dp" android:layout_height="0dp" android:layout_below="@+id/activity_calculator_multiply" android:layout_toLeftOf="@+id/activity_calculator_diminish" android:background="@drawable/calculator_button" android:text="@string/activity_calculator_three" android:textSize="@dimen/activity_calculator_size_text" app:layout_heightPercent="10%" app:layout_widthPercent="23%" /> <com.thedeveloperworldisyours.unitconverterpro.common.view.BlackplotanButton android:id="@+id/activity_calculator_diminish" android:layout_width="0dp" android:layout_height="0dp" android:layout_alignParentRight="true" android:layout_below="@+id/activity_calculator_multiply" android:background="@drawable/calculator_operator_button" android:text="@string/activity_calculator_diminish" android:textSize="@dimen/activity_calculator_size_text_operator" app:layout_heightPercent="10%" app:layout_marginRightPercent="4%" app:layout_widthPercent="23%" /> <!--last--> <com.thedeveloperworldisyours.unitconverterpro.common.view.StarjediButton android:id="@+id/activity_calculator_dot" android:layout_width="0dp" android:layout_height="0dp" android:layout_below="@+id/activity_calculator_diminish" android:layout_toLeftOf="@+id/activity_calculator_zero" android:background="@drawable/calculator_button" android:text="@string/activity_calculator_dot" android:textSize="@dimen/activity_calculator_size_text" app:layout_heightPercent="10%" app:layout_marginLeftPercent="4%" app:layout_widthPercent="23%" /> <com.thedeveloperworldisyours.unitconverterpro.common.view.StarjediButton android:id="@+id/activity_calculator_zero" android:layout_width="0dp" android:layout_height="0dp" android:layout_below="@+id/activity_calculator_diminish" android:layout_toLeftOf="@+id/activity_calculator_equals" android:background="@drawable/calculator_button" android:text="@string/activity_calculator_zero" android:textSize="@dimen/activity_calculator_size_text" app:layout_heightPercent="10%" app:layout_widthPercent="23%" /> <com.thedeveloperworldisyours.unitconverterpro.common.view.BlackplotanButton android:id="@+id/activity_calculator_equals" android:layout_width="0dp" android:layout_height="0dp" android:layout_below="@+id/activity_calculator_diminish" android:layout_toLeftOf="@+id/activity_calculator_add" android:background="@drawable/calculator_equal_button" android:text="@string/activity_calculator_equals" android:textSize="@dimen/activity_calculator_size_text_operator" app:layout_heightPercent="10%" app:layout_widthPercent="23%" /> <com.thedeveloperworldisyours.unitconverterpro.common.view.BlackplotanButton android:id="@+id/activity_calculator_add" android:layout_width="0dp" android:layout_height="0dp" android:layout_alignParentRight="true" android:layout_below="@+id/activity_calculator_diminish" android:background="@drawable/calculator_operator_button" android:text="@string/activity_calculator_plus" android:textSize="@dimen/activity_calculator_size_text_operator" app:layout_heightPercent="10%" app:layout_marginRightPercent="4%" app:layout_widthPercent="23%" /> </android.support.percent.PercentRelativeLayout>