2017-01-04 6 views
0

У меня есть следующие LinearLayout:Горизонтально центр LinearLayout

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/about_vertical_margin" 
    tools:context=".MainActivity"> 

    <LinearLayout 
     android:id="@+id/dev_buy_layout" 
     android:layout_width="wrap_content" 
     android:layout_height="@dimen/dev_by_layout_height" 
     android:orientation="horizontal" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:gravity="center_horizontal" 
     android:layout_gravity="center_horizontal"> 

     <TextView 
      android:id="@+id/dev_buy_text" 
      android:text="@string/dev_buy_text" 
      android:layout_width="@dimen/dev_by_width" 
      android:layout_height="wrap_content" 
      android:layout_marginEnd="@dimen/activity_horizontal_margin" 
      android:layout_marginRight="@dimen/activity_horizontal_margin" /> 

     <TextView 
      android:id="@+id/dev_by_value" 
      android:text="@string/dev_by_value" 
      android:layout_width="120dp" 
      android:layout_height="wrap_content" /> 

    </LinearLayout> 

</RelativeLayout> 

Но это не будет центрировать себя, даже после того, озираясь ответы, они были не использовать до сих пор.

Как я могу это сделать?

+1

Это ваше корневое расположение деятельности/фрагмента? – UneXp

+0

Я добавил корневой макет. –

+0

Привет, в вашей линейной сетке заданной ширины match_parent. –

ответ

0

Он должен работать с собственностью centerInParent, так как основным родителем является RelativeLayout.

Просто сделайте следующее:

android:layout_centerInParent="true" 
+0

Я не хочу выровнять внутренние виды, но сама компоновка. –

+0

Я неправильно понял, в любом случае выравнивание дано на основе родителя, в этом случае RelativeLayout будет работать с centerInParent, или вы можете играть с android: layout_centerVertical = "true" или android: layout_centerHorizontal = "true" в зависимости от того, что вы хотите – petrumo

1
android:layout_centerHorizontal="true" 

Это будет хорошо работать для вас, как родитель раскладка RelativeLayout

android:layout_alignParentTop="true" 
android:layout_alignParentLeft="true" 
android:layout_alignParentStart="true" 
android:layout_gravity="center_horizontal" 

и удалить эти строки :)

0

Есть двумя способами вы можете это сделать.

Прежде всего удалите следующие строки из LinearLayout

android:layout_alignParentTop="true" 
android:layout_alignParentLeft="true" 
android:layout_alignParentStart="true" 
android:layout_gravity="center_horizontal" 

Сначала будет добавить ниже линии внутри LinearLayout

android:layout_centerHorizontal="true" 

еще

Второй будет писать ниже строки внутри RelativeLayout

android:gravity="center_horizontal" 
Смежные вопросы