如何居中对齐视图?

时间:2011-06-10 15:43:24

标签: android android-layout

我需要像LinearLayout一样将可变数量的视图(可能只是一个)放在一起。但我希望整个安排是中心对齐的。观点应该是彼此相邻的。但是整个排列应该与屏幕的左右边缘或包含父节点等距。我怎么能做到这一点?

3 个答案:

答案 0 :(得分:19)

您必须将视图包装在LinearLayout内,将线性布局包含在其他内容中:

<LinearLayout
    android:orientation="vertical">
    <LinearLayout
       android:layout_width="wrap_content"
       android:layout_gravity="center_horizontal">
       <View/>
       <View/>
       etc...
    </LinearLayout>
</LinearLayout>

确保所有观看次数都使用android:layout_width="wrap_content"。如果您正在使用RelativeLayout,那么它将是:

<RelativeLayout>
    <LinearLayout
       android:layout_width="wrap_content"
       android:layout_centerHorizontal="true">
       <View/>
       <View/>
       <View/>
    </LinearLayout>
</RelativeLayout>

答案 1 :(得分:9)

你试过吗

      android:gravity="center" 

答案 2 :(得分:2)

这将为你做到

机器人:layout_gravity = “CENTER_HORIZONTAL”

此外,您还需要考虑权重属性,以确保此布局元素优先于其他布局元素。

http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html

要将所有内容组合在一起,您可以使用框架布局或相对布局。