如何居中对齐视图?

问题描述:

我需要在LinearLayout中放置可变数量的视图(可能只是一个)。但我希望整个安排能够保持一致。意见应该彼此相邻。但整个安排应与屏幕的左右边缘或包含父节点的距离相等。我怎样才能做到这一点?如何居中对齐视图?

您必须将包裹里面别的东西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> 

你尝试

 android:gravity="center" 

的Android这将做到这一点:layout_gravity =“CENTER_HORIZONTAL”

而且要考虑重量属性,以确保该布局元素比别人优先。

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

要组都在一起,你可以用一个框架布局或相对布局。