Я нашел странное поведение с Android TextView и атрибутом эллипсиса. Когда текст длинный и применяется атрибут эллипса, исходное положение текста теряется, а текст выглядит немного выше.Android TextView с атрибутом ellipsize перемещен из исходной позиции
Да, я могу решить его программно, но я хотел бы знать, может ли это быть ошибкой, или я делаю что-то неправильно.
Очень простой пример, чтобы проверить его. Измените текст двух текстовых полей, чтобы увидеть текст с эллипсисом или нет, как показано на последних снимках экрана. Если вы сравните скриншоты, вы увидите проблему.
Я тестировал его с помощью «dp» и «sp», чтобы узнать, может ли это быть по-другому. Но это не так.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/content_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<View
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="50dp"
android:background="@android:color/holo_green_dark" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="23.3dp"
android:ellipsize="end"
android:maxLines="1"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="Hello World! (dp textSize)"
android:textColor="@android:color/black"
android:textSize="25dp" />
<View
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="150dp"
android:background="@android:color/holo_blue_dark" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="123.2dp"
android:ellipsize="end"
android:maxLines="1"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="Hello World! (sp textSize)"
android:textColor="@android:color/black"
android:textSize="25sp" />
</RelativeLayout>
Short texts under the blocks color perfectly glued
Simply changing the texts with a long string and the texts aren't perfectly glued
РЕШЕНИЕ:
Решение использовать атрибут 'SingleLine', а затем проблемы исчезают. Но AndroidStudio говорит мне, что «singleLine is notrecated».
Решение заключается в использовании атрибута 'singleLine', а затем проблема исчезает. Но AndroidStudio говорит мне, что «singleLine is notrecated». – aLxnophis