Этот вопрос является способом продолжения моего последнего вопроса.
Моя проблема сейчас почти такая же, за исключением того, что вместо разделения изображения и текста в разных вариантах (а именно ImageView и TextView) я узнал, что могу использовать атрибут android:drawableLeft
для установки изображения "для" моего текста ( предложение было указано на Eclipse с предупреждающим значком на линии LinearLayout).
Я думал, что единственное отличие заключается в том, что вместо установки ImageView с помощью метода setImageResource()
я просто установил TextView drawableLeft
, приписываемый методу 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="[email protected]"
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
является просто разделителем.
... и вот как выглядит макет после установки вышеупомянутых атрибутов: (У меня недостаточно репутации для публикации изображений, поэтому здесь ссылка)
(Просто, чтобы быть ясным, это только статический пример. Мой текст и изображение устанавливаются динамически в коде во время выполнения).
Любая помощь очень ценится.