Reputation: 4300
İ have problem about linear layout. I think something is wierd.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.
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>
`
Upvotes: 0
Views: 1018
Reputation: 6798
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" />
Upvotes: 0
Reputation: 6128
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>
Upvotes: 3
Reputation: 31846
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.
Upvotes: 2