У меня есть следующие layout
для ListView
пункта:Android - Как выровнять текст TextView
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:padding="5dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/item_icon_image"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:src="@drawable/m" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Business Name"
android:id="@+id/item_title_text"
android:layout_toRightOf="@+id/item_icon_image"
android:layout_marginLeft="3dp"
android:textStyle="bold"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_alignTop="@+id/item_icon_image" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Distance"
android:id="@+id/item_distance_text"
android:layout_alignLeft="@+id/item_title_text"
android:layout_alignBottom="@+id/item_icon_image" />
</RelativeLayout>
И это просчитанный результат:
Как вы можете видеть, что есть пробел между реальным текстом и нижней частью изображения ... Я ожидал, что нижняя часть текста будет точно соответствовать нижней части изображения ... так что вопрос: как я могу выровнять текст в нижней части изображения? изображение?
(это происходит из-за верхний текст, но в верхней части вместо)
EDIT:
Сейчас я использую:
android:layout_marginBottom="-10dp"
Но я хотел что-то еще автоматическое, какое-то решение, которое не будет зависеть от dp или экрана .... но, как прокомментировано, это может быть невозможно, потому что View
необходимо создать пространство для буквы типа «y», «g» и «j». ..bu t Я хочу, чтобы могло быть что-то, что выровняло бы его на основе его содержимого, поэтому, если бы не было «g», это не будет сохранять это пространство.
Если вы меняете нижнее слово что-то с у-то или г, это может помочь вам понять, почему выравнивание не является совершенным. В противном случае вы всегда можете использовать 'android: layout_marginTop' и' android: layout_marginBottom' для перемещения текста вручную, если он статичен. – BVB
Ну, это имеет смысл для 'y' 'j' 'g' ... но все же есть верхняя часть, которую я могу полностью заполнить, я пробовал все заглавные буквы и акценты. – mFeinstein
положить ImageView и TextView внутри RelativeLayout. Установите параметр RelativeLayout height в wrap_content, а затем в ImageView и TextView установите android: layout_alignParentBottom в true. И не забудьте установить android: layout_toLeftOf в TextView с идентификатором ImageView. – Varundroid