You can create two different layouts: one for portrait mode and one for landscape mode. This will solve your problem.
Keep your 1. portrait mode layout in res/layout folder and 2. landscape mode layout in res/layout-land folder.
Android will accept the appropriate layout based on your orientation.
* EDIT: single layout * **
If you want to use a single layout for portrait and landscape orientation, the following will help you
I used android:weightsum and android:layout_weight so that it looks correct.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="100"> <ImageView android:id="@+id/imgfourth1" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="33" android:src="@drawable/ic_launcher" /> <ImageView android:id="@+id/imgfourth2" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="33" android:src="@drawable/ic_launcher" /> <ImageView android:id="@+id/imgfourth3" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="33" android:src="@drawable/ic_launcher" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="20dp" android:orientation="horizontal" android:weightSum="100" > <TextView android:id="@+id/txtfth1" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="33" android:gravity="center_horizontal" android:text="Breakfast" /> <TextView android:id="@+id/txtfth2" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="33" android:gravity="center_horizontal" android:text="Lunch" /> <TextView android:id="@+id/txtfth3" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="33" android:gravity="center_horizontal" android:text="Supper" /> </LinearLayout>
source share