我试图定义一个LinearLayout,它包含另一个LinearLayout,它应该总是在水平和垂直中心显示。 ImageView应始终垂直居中放置在父布局的右侧:
A B
我将其定义如下:
<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>
但是unfornatuley它没有工作...... LinearLayout(A)和ImageView(B)在左侧......但是我将引力设置为中心和右边?为什么呢?
答案 0 :(得分:1)
水平方向的LinearLayout中的重力仅适用于顶部, bottom和center_vertical值(here)。
我认为实现这样的事情的最好方法是使用RelativeLayout而不是LinearLayout。像:
<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>
我很抱歉,但我现在无法测试..我希望它是对的..
答案 1 :(得分:0)
尝试设置android:layout_alignParentRight
参数
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:id="@+id/loading"
android:layout_alignParentRight="true">
</ImageView>
告诉我这是否有效......