我發現Android TextView和ellipsize屬性有一個奇怪的行爲。 當文本很長並且應用了ellipsize屬性時,文本的原始位置會丟失,文本顯得有點偏高。帶有ellipsize屬性的Android TextView從原始位置移動
是的,我可以用編程方式解決它,但我想知道它是否可能是一個錯誤,或者我做錯了什麼。
一個非常簡單的例子來測試它。 更改兩個文本視圖的文本以查看橢圓化文本或不像我在上次截圖中顯示的文本。如果你比較屏幕截圖,你會看到這個問題。
我用'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
SOLUTION:
的解決方案是使用了屬性 'SINGLELINE',然後該問題消失。但AndroidStudio告訴我'singleLine已被棄用'。
解決方案是使用屬性'singleLine',然後問題消失。但AndroidStudio告訴我'singleLine已被棄用'。 – aLxnophis