Reputation: 3005
In my app I am adding some images. I am using dp for all the measurements. When I see test this in different sizes available in eclipse, I could see that it is shown different in different devices.
(see the lollipop is filled for different length).
Please let me know avoid this and to create a similar look-and-feel in all devices
Following is the layout.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="15"
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll0"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="5"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/ll1"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="4"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/ll1A"
android:layout_weight="3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageButton
android:id="@+id/imOption1"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center"
android:background="@drawable/repeat" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll1B"
android:layout_weight="3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageButton
android:id="@+id/imOption2"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center"
android:background="@drawable/repeat"/>
</LinearLayout>
<LinearLayout
android:id="@+id/ll1C"
android:layout_weight="3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageButton
android:id="@+id/imOption3"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center"
android:background="@drawable/repeat"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll2"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="4"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/ll2A"
android:layout_weight="3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageButton
android:id="@+id/imOption4"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center"
android:background="@drawable/repeat" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll2B"
android:layout_weight="3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageButton
android:id="@+id/imOption5"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center"
android:background="@drawable/repeat"/>
</LinearLayout>
<LinearLayout
android:id="@+id/ll2C"
android:layout_weight="3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageButton
android:id="@+id/imOption6"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center"
android:background="@drawable/repeat"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll3"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="4"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/ll3A"
android:layout_weight="3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageButton
android:id="@+id/imOption7"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center"
android:background="@drawable/repeat" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll3B"
android:layout_weight="3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageButton
android:id="@+id/imOption8"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center"
android:background="@drawable/repeat"/>
</LinearLayout>
<LinearLayout
android:id="@+id/ll3C"
android:layout_weight="3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageButton
android:id="@+id/imOption9"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center"
android:background="@drawable/repeat"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll4"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="3"
android:weightSum="9"
android:background="#FFFF99"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/ll4A"
android:layout_alignParentLeft="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/ivDisplayArea"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:layout_gravity="center"
android:background="@drawable/repeat"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="10"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:background="#FF6633"
android:text="Reward Account "
android:textColor="#FFFFFF"
android:textStyle="bold" />
<ImageButton
android:id="@+id/bReward1"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="10dp"
android:background="@drawable/lollipop" />
<ImageButton
android:id="@+id/bReward2"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="7dp"
android:background="@drawable/lollipop" />
<ImageButton
android:id="@+id/bReward3"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="7dp"
android:background="@drawable/lollipop" />
<ImageButton
android:id="@+id/bReward4"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="7dp"
android:background="@drawable/lollipop" />
<ImageButton
android:id="@+id/bReward5"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="7dp"
android:background="@drawable/lollipop" />
<ImageButton
android:id="@+id/bReward6"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="7dp"
android:background="@drawable/lollipop" />
<ImageButton
android:id="@+id/bReward7"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="7dp"
android:background="@drawable/lollipop" />
<ImageButton
android:id="@+id/bReward8"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="7dp"
android:background="@drawable/lollipop" />
<ImageButton
android:id="@+id/bReward9"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="7dp"
android:background="@drawable/lollipop" />
<ImageButton
android:id="@+id/bReward10"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="7dp"
android:background="@drawable/lollipop" />
</LinearLayout>
</LinearLayout>
Upvotes: 1
Views: 163
Reputation: 12656
This is actually correct behavior. Android works to make sure that the graphics items remain the same physical size regardless of screen density or screen size.
So, if you choose a button graphics image that is intended to be the size of a person's fingertip, that graphic should always be displayed the exact same physical size (i.e. size in inches) regardless of device characteristics.
If you prefer for your screen to be laid out in such a way that it looks the same on all devices, and is scaled so that the same look is bigger or smaller depending on screen size, then there are two ways to do this:
dip
" (or the equivalent "dp
"),
use Scale-Independent-Pixels "sip
" (or the equivalent "sp
" - which scale
with system font size) or "px
" (for
pixels) to define your graphics component sizes.You will have to experiment with image sizes to get it right, but the ratios are defined here: Launcher Icons: Size and Format
Upvotes: 1