Using these images:
(333×300)
(1680×1050)
and this layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:orientation="vertical">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center">
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:scaleType="fitCenter"
android:src="@drawable/apple" />
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:scaleType="fitCenter"
android:src="@drawable/apple" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center">
<ImageButton
style="@style/OtherButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:scaleType="fitCenter"
android:src="@drawable/orange" />
<ImageButton
style="@style/OtherButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:scaleType="fitCenter"
android:src="@drawable/orange" />
</LinearLayout>
</LinearLayout>
gives this result:

With only singly-nested layouts, the apple and orange buttons are the same size. After messing around with Eclipse, I’ve noticed the buttons tend to be taller when their images are larger, but the relative proportions don’t seem to follow a particular pattern.
Why do the buttons have different heights? Is there an alternative method I can use that will scale with screen resolution and density?
Make below change.
In your main parent Layout make layout_height to
android:layout_height="fill_parent"