I've used a relative layout and I want to set the button at bottom of the screen, However this puts it all the down to the bottom and I would like to have some margin so it there's some space between the end of the screen/view and the button. However whatever I do the button margin just doesn't do anything on 2.1+ for some reason. The relative layout contains a background so I cant but the margin on that.
Anyone know a fix for this?
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="0dp" android:background="@drawable/background" > <Button android:id="@+id/confirm_mobile_button_next" android:layout_width="fill_parent" android:layout_height="40dip" android:layout_alignParentBottom="true" android:layout_alignParentLeft="false" android:layout_centerHorizontal="false" android:layout_centerInParent="false" android:layout_margin="15dp" android:background="@drawable/button_shape_selector" android:paddingLeft="10dip" android:paddingRight="10dip" android:text="@string/confirm_mobile_no_continue" android:textColor="@color/white" android:textStyle="bold" /> </RelativeLayout>
You can simply add a padding to the RelativeLayout instead of a margin to the Button, e.g. android:paddingBottom="15dp"
.
In general I'm always testing my layout in the Exclipse preview using API Level 8 setting. This gives quite accurate results for most devices, including ICS and JB.
The other thing you can do is put a View
that's aligned to the bottom of the RelativeLayout
, and set its height to the bottom margin you would want to use (or simply specify a value for layout_marginBottom
) like so:
<RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/some_image" android:adjustViewBounds="true" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Some Overlay" android:padding="3dip" android:gravity="center_vertical|center_horizontal" android:layout_above="@+id/empty_view" android:layout_marginBottom="35dip" /> <View android:id = "@+id/empty_view" android:layout_height = "30dip" android:layout_width = "match_parent" android:visibility="invisible" android:layout_alignParentBottom="true" /> </RelativeLayout>
This example fills the RelativeLayout
with the ImageView
, and positions a TextView
over the ImageView
.
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