Skip to main content

Linearlayout gravity issue?



İ have problem about linear layout. i think something is weard.All of them same layout but back button moving related icon buton.I want to fit back button on the left side and btn_header_what_search_user button want to right site.But they are moving related icon(center icon).Why? and how can i back button on the left side.





enter image description here





my code:`







<LinearLayout android:layout_height="44dip"

android:layout_width="320dip"

android:background="@drawable/header_320_44dip">

<ImageView

android:layout_width="121dip"

android:layout_height="32dip"

android:layout_gravity="center"

android:layout_marginLeft="90dip"

android:background="@drawable/icon">



</ImageView>



<ImageView

android:layout_width="52dip"

android:layout_height="32dip"

android:layout_gravity="left"

android:background="@drawable/btn_back_52x32">



</ImageView>





<ImageButton

android:layout_height="34dip"

android:layout_width="64dip"

android:id="@+id/btn_header_what_search_user"

android:layout_marginLeft="0dip"

android:background="@drawable/btn_nedit_nontext_64x34">

</ImageButton>

</LinearLayout>







`


Comments

  1. The LinearLayout does not work well with gravities along it's main direction (that is, a horizontal LinearLayout does not support left,right or center_horizontal, and a vertical top,bottom or center_vertical).
    You could instead try a RelativeLayout and using the layout_alignParentLeft/layout_alignParentRight attributes (or any of the other available ones) to get the correct result.

    ReplyDelete
  2. You should use Relative layout

    <RelativeLayout android:layout_height="44dip"
    android:layout_width="320dip"
    android:background="@drawable/header_320_44dip">
    <ImageView
    android:layout_width="121dip"
    android:layout_height="32dip"
    android:layout_centerInParent="true"
    android:layout_marginLeft="90dip"
    android:background="@drawable/icon">

    </ImageView>

    <ImageView
    android:layout_width="52dip"
    android:layout_height="32dip"
    android:layout_alignParentLeft="true"
    android:background="@drawable/btn_back_52x32">

    </ImageView>


    <ImageButton
    android:layout_height="34dip"
    android:layout_width="64dip"
    android:id="@+id/btn_header_what_search_user"
    android:layout_marginLeft="0dip"
    android:layout_alignParentright="true"
    android:background="@drawable/btn_nedit_nontext_64x34">
    </ImageButton>
    </RelativeLayout>

    ReplyDelete
  3. Another solution might be the use of layout weights. Set a total weight of 3 and then set a weight of 1 for each of the image views. This way the layout is split up in 3 parts and you should be able to adjust the gravity for each part. Something like that:

    <LinearLayout
    ...
    android:weightSum="3" >

    <ImageView
    ...
    android:layout_width="0dp"
    android:layout_weight="1" />

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?