Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

FrameLayout margin not working

My layout structure is like this

LinearLayout     FrameLayout        ImageView        ImageView     FrameLayout     TextView LinearLayout 

I have set margin's for the two ImageView which are inside FrameLayout. But FrameLayout margins are discarded and it always set's the Image to top left corner. If i change from FrameLayout to LinearLayout the margin's work properly. How to handle this ?

<?xml version="1.0" encoding="utf-8"?>     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="horizontal"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:id="@+id/inner1"     >         <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_width="wrap_content"            android:layout_height="wrap_content"         >              <ImageView              android:layout_width="24px"               android:layout_height="24px"               android:id="@+id/favicon"              android:layout_marginLeft="50px"              android:layout_marginTop="50px"              android:layout_marginBottom="40px"              android:layout_marginRight="70px"                    />                   <ImageView              android:layout_width="52px"               android:layout_height="52px"               android:id="@+id/applefavicon"               android:layout_marginLeft="100px"              android:layout_marginTop="100px"              android:layout_marginBottom="100px"              android:layout_marginRight="100px"                           />          </FrameLayout>               <TextView             android:layout_width="wrap_content"              android:layout_height="wrap_content"              android:id="@+id/title"                              android:layout_marginLeft="10px"                     android:layout_marginTop="20px"             android:textColor="#FFFFFF"               android:textSize = "15px"             android:singleLine = "true"             />      </LinearLayout> 
like image 706
Vinoth Avatar asked Mar 23 '11 07:03

Vinoth


1 Answers

I had the same issue myself and noticed that setting the layout_ margins does not work until you also set your ImageView's layout gravity i.e. android:layout_gravity="top" in the XML resource file, or from code: FrameLayout.LayoutParams.gravity = Gravity.TOP;.

like image 71
Andrei Avatar answered Sep 19 '22 01:09

Andrei