Issue
Following is my Android layout for 3 buttons. It looks nice and good. But when I change the button's Text size of a single button to some other value it breaks the layout (font size and gravity changed but).
Before:
<LinearLayout android:weightSum="1.0"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_alignParentBottom="true" android:layout_marginBottom="20dp"
android:background="#FFF">
<Button android:id="@+id/allimagebtn" android:layout_weight=".30"
android:layout_height="60dp"
android:textColor="#FFF"
android:background="@drawable/cam_red" android:text="Images" android:gravity="bottom" android:paddingLeft="10dp" android:layout_marginTop="2dp" android:paddingTop="2dp" android:layout_width="100dp" android:layout_margin="2dp"/>
<Button android:id="@+id/button2video" android:layout_weight=".30"
android:layout_height="60dp"
android:background="@drawable/vid_red" android:textColor="#FFF" android:text="Video Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_width="100dp" android:layout_marginTop="2dp"/>
<Button android:id="@+id/button3audio" android:layout_weight=".30"
android:layout_height="60dp"
android:textColor="#FFF"
android:background="@drawable/aud_red" android:text="Audio Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_marginTop="2dp" android:layout_width="100dp" android:layout_margin="2dp"/>
</LinearLayout>
After:
<LinearLayout android:weightSum="1.0"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_alignParentBottom="true" android:layout_marginBottom="20dp"
android:background="#FFF">
<Button android:id="@+id/allimagebtn" android:layout_weight=".30"
android:layout_height="60dp"
android:textColor="#FFF"
android:background="@drawable/cam_red" android:paddingLeft="10dp" android:layout_marginTop="2dp" android:paddingTop="2dp" android:layout_width="100dp" android:layout_margin="2dp" android:textSize="30dp" android:text="1" android:gravity="top"/>
<Button android:id="@+id/button2video" android:layout_weight=".30"
android:layout_height="60dp"
android:background="@drawable/vid_red" android:textColor="#FFF" android:text="Video Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_width="100dp" android:layout_marginTop="2dp"/>
<Button android:id="@+id/button3audio" android:layout_weight=".30"
android:layout_height="60dp"
android:textColor="#FFF"
android:background="@drawable/aud_red" android:text="Audio Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_marginTop="2dp" android:layout_width="100dp" android:layout_margin="2dp"/>
</LinearLayout>
How to avoid this??
Solution
I checked your code. You have fixed the height and width of the view which is not a good idea. I tested with wrap_content and it is working fine.So try to avoid the fixed height and width and instead use wrap_content and fill_parent which fits your need. You can use Relative Layout if you face any problem.
Answered By - Vineet Shukla