Dodałem EditText
do mojego układu i podpowiedź, i wyśrodkowałem go poziomo.
Podczas uruchamiania aplikacji podpowiedź była niewidoczna. Uważam, że należy uczynić ellipsize
wartość Instrumentu TextView
być start
:
<EditText
android:id="@+id/number1EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="start"
android:ems="10"
android:gravity="center_horizontal"
android:hint="@string/hint1" />
W dokumentacji Androida czytam:
Jeśli ustawione, powoduje, że słowa dłuższe niż widok jest szeroki, są
elipsowane, a nie łamane w środku.
Problem polega na tym, że ellipsize
nie ma go w słowniku. Czy ktoś może mi wyjaśnić, jakie korzyści możemy uzyskać dzięki ellipsize
atrybutowi? A jaka jest różnica między start
, end
, middle
?
android
android-layout
textview
Hamzeh Soboh
źródło
źródło
Odpowiedzi:
Dokumentację można znaleźć tutaj .
W zależności od wymagań możesz wypróbować odpowiednią opcję.
elipsyzm , neologizm, oznacza skrócenie tekstu za pomocą elipsy , tj. trzech kropek
...
lub częściej ligatury…
, aby zastąpić pominięte bity.Powiedz, że oryginalna wartość widoku tekstowego pf to aaabbbccc i jego dopasowanie do widoku
start
Dane wyjściowe będą: ... bcccend
Wyjście będzie: aaab ...middle
Wyjście będzie: aa ... ccmarquee
Wyjście będzie: automatyczne przesuwanie aaabbbccc od prawej do lewejźródło
z mojego doświadczenia wynika, że Ellipsis działa tylko wtedy, gdy ustawione są poniżej dwóch atrybutów.
jeśli chodzi o szerokość widoku tekstu, wrap_content lub match_parent powinny być dobre.
źródło
android:singleLine
był przestarzały od poziomu API 3, więc zamiast tego użyjandroid:maxLines
. Uwaga:> jeśli podano zarówno singleLine, jak i inputType, flagi inputType zastąpią wartość singleLine. Sprawdź dokumentację na R.attr.html # singleLineHow to Add an ellipsis in a TextView
android: elipssize dodano w API Poziom 1. Elipsa to trzy kropki z rzędu. (...).
W twoim Xml
W tym momencie elipsa nie będzie jeszcze wyświetlana, ponieważ TextView jest ustawione na automatyczne rozszerzanie domyślnie po wprowadzeniu nowego tekstu. Będziesz musiał w jakiś sposób ograniczyć TextView. Zrób to, możesz użyć opcji add do swojej,
TextView a scrollHorizontally, minLines, or maxLines
aby wyświetlić ekran elipsy.Aby zrobić elipsę:
I
I
I
Uwaga:
Aby uzyskać więcej informacji, możesz odwiedzić tutaj
źródło
Elipsa jest trzy okresy z rzędu ...
TextView użyje elipsy, gdy nie może rozwinąć się, aby pokazać cały swój tekst. Atrybut
ellipsized
ustawia pozycję trzech kropek, jeśli jest to konieczne.źródło
Tekst:
Załóżmy, że powyższe jest Twój tekst i jeśli używasz
ellipsize
„sstart
atrybut będzie widział takz
end
atrybutemźródło
oto przykład, jak działa ellipsize bez użycia przestarzałego
android:singleLine="true"
w ConstraintLayout:pamiętaj, jeśli masz tekst, który powinien znajdować się w jednym wierszu, a następnie zmień maxLines na 1.
źródło
android:layout_width="0dp"
zamiastandroid:layout_width="wrap_content"
. Uwaga: ma to zastosowanie, ponieważ używamConstraintLayout
. Omówiono tutaj także stackoverflow.com/a/48149405/2848676Uwaga: twój tekst musi być większy niż pole kontenera, aby następujące markizy:
źródło
Ustaw tę właściwość, aby edytować tekst. Elipsize działa z wyłączonym edytowaniem tekstu
lub setKeyListener (null);
źródło
Użyj elipssize, gdy masz stałą szerokość, a następnie automatycznie obetnie tekst i pokaże elipsę na końcu,
to nie będzie działać, jeśli ustawisz szerokość układu jako wrap_content i match_parent.
źródło