В моем текущем проекте Android есть требование отображать несколько строк текста (максимум 3) внутри TextView и размещать текст внизу текстового представления.
Мой TextView определяется следующим образом: -
<TextView
android:id = "@+id/my_title"
android:layout_width = "@dimen/image_width"
android:layout_height = "@dimen/image_height"
android:layout_alignTop = "@+id/other_title"
android:layout_marginTop = "@dimen/span_eight"
android:layout_toEndOf = "@+id/dot"
android:maxLines = "3"
android:gravity = "bottom"
android:padding = "2dp"
android:textColor = "@android:color/white"
android:textSize = "@dimen/text_twelve" />
Когда отображаемый текст состоит из 3 или менее строк, текст отображается так, как вы ожидаете.
Однако, когда его длина превышает 3 строки, начало текста обрезается.
Например
"Artificial cells, nanomedicine, and biotechnology"
отображается как
"`cine, and biotechnology`"
мне нужно, чтобы он отображался как
"`Artificial cells, nanom`"
Как мне добиться желаемого результата?
@DheerajRijhwani Я использую RelativeLayout
Пытаться;
android:gravity = "bottom|start"
Вместо
android:gravity = "bottom"
android:gravity = "bottom|start" не влияет на отображаемый текст. Что исправляет это «почти», так это использование android:gravity = "bottom" и android:ellipsize = "end", однако я не хочу иметь эллипс
Вы можете попробовать использовать внешнюю библиотеку, если она работает; github.com/grantland/android-autofittextview
Использовать:
android:ellipsize = "end"
Добавьте это свойство в свой TextView, вы увидите текст с самого начала, а в конце третьей строки будут 3 точки (...), чтобы указать, что текст состоит более чем из 3 строк.
Использовать:
android:gravity = "start"
нижнее значение гравитации изменит поведение дисплея. Вы меняете высоту TextView с запасом.
Какой макет вы используете?