Mam następujący układ, który nie działa:
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:id="@+id/experienceLayout"
android:background="#ffffff"
android:layout_height="match_parent"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:paddingBottom="6dp"
android:paddingTop="6dp">
<TextView
android:layout_weight="1"
android:id="@+id/experienceLabel"
android:text="Experience"
android:layout_height="wrap_content"
android:textColor="#000000"
android:layout_width="wrap_content"
android:textStyle="bold">
</TextView>
<TextView
android:id="@+id/experienceTextView"
android:text="TextView"
android:layout_height="wrap_content"
android:textColor="#000000"
android:layout_width="wrap_content"
android:ellipsize="end"
android:lines="1"
android:maxLines="1"
android:singleLine="true"
android:fadeScrollbars="false">
</TextView>
</LinearLayout>
java
android
android-linearlayout
textview
Sheehan Alam
źródło
źródło
android:scrollHorizontally="true"
ale to nie zadziałało, musiałem użyć przestarzałego atrybutuandroid:singleLine="true"
.scrollHorizontally
jest kluczem do...
Spowoduje to również utworzenie pojedynczej linii z elipsą
źródło
Użyj tego
Nie używaj tego bez pełnej świadomości, jakie dane wynikowe
Kiedy
maxlines = 1
go użyjesz , przez jakiś czas obcina większość znaków.źródło
Sposób, w jaki to działało na wielu urządzeniach / interfejsach API, był programistycznie taki (gdzie tv to Twój TextView):
źródło
\u2026
zamiast trzech.
znakówZatem wszystkie powyższe odpowiedzi są zgodne z wymogiem, aby pojawił się tylko 1 wiersz, a następnie wielokropek. Jeśli jednak chcesz, aby wielokropek pojawiał się po pewnych wierszach tekstu, powinieneś użyć następującego:
Dzięki temu wielokropek pojawi się dopiero po 2 liniach. Uwaga: ważne jest, aby wartość singleLine była fałszywa.
źródło
To mi pomogło:
Upewnij się, że
TextView
width
jest ustawiony naMatch_Parent
https://github.com/chrisjenx/Calligraphy/issues/43#issuecomment-523701518
źródło
android:singleLine
jest przestarzałe. W moim przypadku musiałem uzyskać stałą wysokość dlaTextView
i użyłemandroid:lines
atrybutu zamiastandroid:maxLines
. Pomyślałem, że to może pomóc komuś, kto ma taki sam problem jak mój.źródło