Assuming that you are using Android Studio. You can import this percent library that enables you to set percentages for your respective widths and heights. This will enable you to set a different percentage width and height based on device i.e. phone, 7 inch tablet, 10 inch tablet and get the same look and feel. I used it in my current project and it worked perfectly.
And ensure that you have different XML files for each device i.e. Folders should be as follows:
layout (XML files for phone),
layout-sw600dp (XML files for 7 inch Tablet),
layout-sw720dp (XML files for 10 inch Tablet),
layout-w600dp (XML files for 7 inch Tablet),
layout-w720dp (XML files for 10 inch Tablet).
Then add the screen supported on the AndroidManifest.xml as shown below.
Simply add the following dependency to your gradle i.e.
compile 'com.android.support:percent:25.3.0'
Then use as shown below ... Notice how the percentages are used to set the layout width and height i.e.
app:layout_widthPercent="100%"
app:layout_heightPercent="35%"
(Refer to code below)
*********************************************************************
//** activity_main.xml
*********************************************************************
<android.support.percent.PercentRelativeLayout
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"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
tools:context=".MainActivity">
<!-- Begin Header Section -->
<RelativeLayout
android:id="@+id/headerSection"
app:layout_widthPercent="100%"
app:layout_heightPercent="55%">
<android.support.v4.view.ViewPager
android:id ="@+id/spotlightViewPager"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
</android.support.v4.view.ViewPager>
<RelativeLayout
android:id="@+id/headerRight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true" >
<Button
android:id="@+id/shareButton"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:theme="@style/ShareButtonBackgroundTheme"
android:background="@drawable/shape"
android:text="@string/mainShare" />
</RelativeLayout>
</RelativeLayout>
<!-- End Header Section -->
<!-- Begin Social & Weather Section -->
<RelativeLayout
android:id="@+id/socialWeatherSection"
android:layout_below="@id/headerSection"
app:layout_widthPercent="100%"
app:layout_heightPercent="10%">
<RelativeLayout
android:id="@+id/socialWeatherLeft"
android:layout_width="140dip"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true" >
<GridView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/socialmediaGridView"
android:horizontalSpacing="1dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:background="#e5e5e5">
</GridView>
</RelativeLayout>
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/socialWeatherLeft"
android:scrollbars="none"
android:id="@+id/hsv"
android:layout_margin="1dp"
android:fillViewport="false">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<GridView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/weatherGridView"
android:horizontalSpacing="1dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:background="#e5e5e5">
</GridView>
</LinearLayout>
</HorizontalScrollView>
</RelativeLayout>
<!-- End Social & Weather Section -->
<!-- Begin Grid Navigation Section -->
<RelativeLayout
android:id="@+id/gridSection"
android:layout_below="@+id/socialWeatherSection"
app:layout_widthPercent="100%"
app:layout_heightPercent="35%">
<GridView
android:id="@+id/gridView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:verticalSpacing="2dp"
android:horizontalSpacing="2dp"
android:layout_alignParentLeft="true"
android:numColumns="3"
android:stretchMode="columnWidth"
android:gravity="center"
android:background="#e5e5e5">
</GridView>
</RelativeLayout>
<!-- End Grid Navigation Section -->
</android.support.percent.PercentRelativeLayout>
**************************************************************
//** AndroidManifest.xml
**************************************************************
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="foo.foo.foo">
<!-- permission for GPS location -->
<!--<uses-permission android:name="android.permission.INTERNET" />-->
<!--<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />-->
<!--<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />-->
<!--<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />-->
<!--<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />-->
<!--<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />-->
<!--<uses-permission android:name="android.permission.CALL_PHONE" />-->
<!--<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>-->
<!--<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
<!-- Tablet Fix -->
<uses-feature android:name="android.permission.INTERNET" android:required="false"/>
<uses-feature android:name="android.permission.ACCESS_FINE_LOCATION" android:required="false"/>
<uses-feature android:name="android.permission.ACCESS_NETWORK_STATE" android:required="false"/>
<uses-feature android:name="android.permission.ACCESS_WIFI_STATE" android:required="false"/>
<uses-feature android:name="android.permission.CHANGE_WIFI_STATE" android:required="false"/>
<uses-feature android:name="android.permission.CHANGE_NETWORK_STATE" android:required="false"/>
<uses-feature android:name="android.permission.CALL_PHONE" android:required="false"/>
<uses-feature android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:required="false"/>
<uses-feature android:name="android.permission.READ_EXTERNAL_STORAGE" android:required="false"/>
<application
android:name=".TestApplication"
android:allowBackup="true"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".SplashScreen" android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name=".MAINACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
<activity android:name=".AgencyActivity"></activity>
</application>
<supports-screens
android:resizeable="false"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"
android:requiresSmallestWidthDp="320"
android:compatibleWidthLimitDp="320"
android:largestWidthLimitDp="720"/>
<compatible-screens>
<!--no small size screens -->
<!--all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
<!-- all large size screens -->
<screen android:screenSize="large" android:screenDensity="ldpi" />
<screen android:screenSize="large" android:screenDensity="mdpi" />
<screen android:screenSize="large" android:screenDensity="hdpi" />
<screen android:screenSize="large" android:screenDensity="xhdpi" />
<!-- all xlarge size screens -->
<screen android:screenSize="xlarge" android:screenDensity="ldpi" />
<screen android:screenSize="xlarge" android:screenDensity="mdpi" />
<screen android:screenSize="xlarge" android:screenDensity="hdpi" />
<screen android:screenSize="xlarge" android:screenDensity="xhdpi" />
<!-- Special case for Nexus 7 -->
<screen android:screenSize="large" android:screenDensity="213" />
<screen android:screenSize="normal" android:screenDensity="480" />
<screen android:screenSize="large" android:screenDensity="480" />
<screen android:screenSize="xlarge" android:screenDensity="480" />`
</compatible-screens>
</manifest>