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?

Java Urban Myths

Along the line of C++ Urban Myths and Perl Myths : What are the Java Urban Myths? That is, the ideas and conceptions about Java that are common but have no actual roots in reality . As a Java programmer, what ideas held by your fellow Java programmers have you had to disprove so often that you've come to believe they all learned at the feet of the same drunk old story-teller? Ideally, you would express these myths in a single sentence, and include an explanation of why they are false.