Как выровнять вид по центру? - PullRequest
9 голосов
/ 10 июня 2011

Мне нужно положить переменное количество представлений (может быть только одно) рядом друг с другом, как в LinearLayout Но я хочу, чтобы вся договоренность была выровнена по центру. Взгляды должны быть рядом друг с другом. Но все расположение должно быть равноудалено от левого и правого края экрана или родительского элемента. Как мне это сделать?

Ответы [ 3 ]

19 голосов
/ 10 июня 2011

Вам нужно будет обернуть ваши представления внутри 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>
9 голосов
/ 10 июня 2011

Вы пробовали

      android:gravity="center" 

?

2 голосов
/ 10 июня 2011

Это сделает за вас

андроида: layout_gravity = "center_horizontal"

Также вы хотите рассмотреть свойство веса, чтобы убедиться, что этот элемент макета имеет приоритет над другими.

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

Чтобы сгруппировать все вместе, вы можете использовать Frame Layout или Relative Layout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...