Как вертикально выравнивать текст в TextView с помощью Compound Drawable

Этот вопрос в какой-то мере является продолжением моего последнего вопроса .

Моя проблема сейчас почти такая же, за исключением того, что вместо разделения изображения и текста в разных вариантах (а именно ImageView и TextView) я узнал, что могу использовать атрибут android:drawableLeft чтобы установить образ «для» моего текста (предложение было Указал мне Eclipse с предупреждающим знаком на линии LinearLayout).

Я думал, что единственное отличие заключается в том, что вместо установки метода ImageView с setImageResource() метода setImageResource() я просто установил drawableLeft TextView, связанный с setCompoundDrawablesWithIntrinsicBounds() . Вместо этого, когда я внес изменения, меня вернули в исходную проблему: текст выравнивается с верхним краем представления, а не с центром.

Вот как выглядит мой TextView:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/account_login" android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/pm_gmail" android:drawablePadding="8dp" android:text="example@gmail.com" android:paddingLeft="16dp" android:layout_gravity="left|center_vertical" /> <View android:layout_width="fill_parent" android:layout_height="1dip" android:layout_centerVertical="true" android:layout_below="@id/account_login" android:layout_marginLeft="16dp" android:layout_marginRight="16dp" android:layout_marginTop="5dp" android:background="#DDDDDD" /> </RelativeLayout> 

Второй View – это просто разделитель.

… и вот как выглядит макет после установки вышеупомянутых атрибутов: (У меня недостаточно репутации для публикации изображений, так что вот ссылка на него)

(Просто, чтобы быть ясным, это только статический пример. Мой текст и изображение динамически устанавливаются в коде во время выполнения).

Любая помощь приветствуется.

Изменить android:layout_gravity="left|center_vertical" для android:gravity="center_vertical" .
layout_gravity – для позиционирования представления внутри контейнера (макета), тогда как gravity относится к содержимому представления (то есть в этом случае текст внутри TextView).