Im trying to define a LinearLayout which contains another LinearLayout which should always be desplayed in the horizontal and vertical center. An ImageView should be placed always vertically centered on the right side of the parent Layout:
A B
I defined it the following:
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="60px">
<LinearLayout android:id="@+id/footer" android:orientation="horizontal" android:layout_height="50px" android:paddingTop="5px" android:layout_width="wrap_content" android:background="@drawable/footer_border" android:paddingRight="5px" android:paddingLeft="5px" android:layout_gravity="center_horizontal">
<ImageButton android:id="@+id/libraryButton" android:layout_height="wrap_content" android:src="@drawable/library_button" android:background="#000000" android:layout_width="wrap_content"/>
<ImageButton android:id="@+id/bookButton" android:layout_height="wrap_content" android:src="@drawable/book_button" android:background="#000000" android:layout_width="wrap_content" android:paddingLeft="15px" android:paddingRight="15px"/>
<ImageButton android:id="@+id/workspaceButton" android:layout_height="wrap_content" android:src="@drawable/workspace_button" android:background="#000000" android:layout_width="wrap_content"/>
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:id="@+id/loading">
</ImageView>
</LinearLayout>
But 开发者_如何转开发unfornatuley its not working... The LinearLayout (A) and the ImageView (B) is on the left side.... But i set gravity to center and right?? Why?
Gravity in LinearLayout with horizontal orientation will only work for top, bottom and center_vertical value(here).
I think the best way to achieve such a thing is to use a RelativeLayout instead of LinearLayout.Something like:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="60px">
<LinearLayout android:id="@+id/footer"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:center_in_parent="true"
>
....
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/loading"
android:align_parent_right="true">
</ImageView>
</RelativeLayout>
I'm sorry but i can't test it right now..I hope it is right..
Try setting the android:layout_alignParentRight
parameter
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:id="@+id/loading"
android:layout_alignParentRight="true">
</ImageView>
Tell me if that works...
精彩评论