Как выравнивать вертикально центрированный Spinner и TextView

У меня есть Spinner и TextView в моем LinearLayour.

Я пытаюсь выровнять Spinner и TextView вертикально так, чтобы центр обоих в одной строке:

Введите описание изображения здесь

Это мой XML для этого элемента:

<LinearLayout android:id="@+id/dropdownlayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal" > <Spinner android:id="@+id/spinner1" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_gravity="center" /> <TextView android:id="@+id/ok1" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_gravity="center" android:background="@drawable/white_box" android:gravity="center" android:paddingLeft="10dp" android:paddingRight="10dp" android:text="@string/ok" android:textColor="@android:color/black" android:textSize="@dimen/normale" /> </LinearLayout> 

Пробовал и этот код, тот же результат:

  <RelativeLayout android:id="@+id/dropdownlayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal" > <Spinner android:id="@+id/spinner1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_gravity="center" android:gravity="center" /> <TextView android:id="@+id/ok1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_toRightOf="@+id/spinner1" android:background="@drawable/white_box" android:gravity="center" android:padding="10dp" android:text="@string/ok" android:textColor="@android:color/black" android:textSize="@dimen/normale" /> </RelativeLayout> 

Попробуйте это в Relative Layout, как это

 [<RelativeLayout android:id="@+id/dropdownlayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal" > <Spinner android:id="@+id/spinner1" android:layout_width="250dp" android:gravity="center" android:background="@android:drawable/btn_dropdown" android:layout_centerVertical="true" android:layout_height="40dp" android:layout_gravity="center" /> <TextView android:id="@+id/ok1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/white_box" android:gravity="center" android:layout_centerVertical="true" android:paddingLeft="10dp" android:layout_toRightOf="@+id/spinner1" android:paddingRight="10dp" android:text="@string/ok" android:textColor="@android:color/black" android:textSize="@dimen/normale" /> </RelativeLayout>] 

Введите описание изображения здесь

Вы можете просто обернуть Spinner и TextView внутри LinearLayout следующим образом:

 <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > 

Удалить строку

 android:layout_toRightOf="@+id/spinner1" 

И если вы хотите, вы можете сделать относительный LinearLayout (добавив layout_below, layout_above и т. Д.),

Затем внутри TextView и Spinner добавьте:

 android:layout_gravity="center_vertical" 

Хорошо, что вы не можете использовать RelativeLayout с Gravity или Layout_gravity

Пример того, как я делаю вещи. Это работает отлично (оно находится справа от вертикали вертикальной ячейки списка)

 <RelativeLayout android:id="@+id/right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_margin="4dp" > <TextView android:id="@+id/annuaire_distance_etablissement" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginRight="4dp" android:layout_toLeftOf="@+id/arrow_img" android:singleLine="true" android:textColor="@color/clr_main_green" android:textSize="12sp" /> <ImageView android:id="@+id/arrow_img" android:layout_width="15dp" android:layout_height="15dp" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="4dp" android:src="@drawable/icone_fleche" /> </RelativeLayout> 

Вы должны придерживаться линейного макета и попробовать следующее в TextView:

 android:layout_gravity="center_vertical" 

А затем в TextView вы должны изменить

 android:layout_height="fill_parent" 

в

 android:layout_height="wrap_content"