I'm trying to figure out why a two-line button in my application is being shifted a couple of pixels lower than the other buttons:

This does not happen if I shorten the text on the third button until it fits on one line, which tells me it has something to do with the line break.  Adding android:layout_gravity="top" to the button's layout doesn't seem to help.  Any ideas what might be causing this one?
Edit: Here's the layout XML file:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"               android:layout_height="wrap_content"               android:orientation="vertical"               android:gravity="center_horizontal"               android:padding="10dip"               android:layout_width="wrap_content">    <TextView android:id="@+id/error_text"             android:layout_height="wrap_content"             android:layout_marginBottom="5dip"             android:text="Place holder"             android:layout_width="wrap_content"             android:textSize="17dip"/>    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"                 android:layout_height="wrap_content"                 android:orientation="horizontal"                 android:gravity="center_horizontal"                 android:padding="10dip"                 android:layout_width="wrap_content">     <Button android:id="@+id/ok_button"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:text="@string/ok"             android:textColor="@color/black"             android:textStyle="bold"/>      <Button android:id="@+id/cancel_button"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:layout_marginLeft="8dip"             android:text="@string/cancel_login"             android:textColor="@color/black"             android:textStyle="bold"             android:visibility="gone"/>      <Button android:id="@+id/third_button"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:layout_marginLeft="8dip"             android:textColor="@color/black"             android:textStyle="bold"             android:visibility="gone"/>   </LinearLayout> </LinearLayout> 
                A horizontal LinearLayout aligns the baselines of all its child controls by default. So the first line of text in your multi-line button is vertically aligned with the single line of text in the other buttons.
To disable this behaviour, set android:baselineAligned="false" on the LinearLayout.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With