Ich habe EditText
meinem Layout ein hinzugefügt, einen Hinweis hinzugefügt und es horizontal zentriert.
Beim Ausführen der Anwendung war der Hinweis unsichtbar. Ich fand, dass ich ellipsize
Wert auf das machen sollte, um TextView
zu sein 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" />
In der Android-Dokumentation habe ich gelesen:
Wenn diese
Option aktiviert ist, werden Wörter, die länger als die Ansicht sind, ellipsenförmig anstatt in der Mitte unterbrochen.
Das Problem ist, dass ellipsize
es nicht im Wörterbuch gefunden wird. Kann mir jemand erklären, welche Vorteile wir durch ellipsize
Attribute erzielen können ? Und was ist der Unterschied zwischen start
, end
, middle
?
android
android-layout
textview
Hamzeh Soboh
quelle
quelle
Antworten:
Dokumentation finden Sie hier .
Je nach Ihren Anforderungen können Sie die entsprechende Option ausprobieren.
zu ellipsize einer neologism, Mitteln abzukürzen Text ein, unter Verwendung von drei Punkten , dh drei Punkte
...
oder häufigen Ligatur…
, in für den weggelassenen Bits zu stehen.Angenommen, der ursprüngliche Wert der Textansicht ist aaabbbccc und passt in die Ansicht
start
Die Ausgabe lautet : ... bcccend
Die Ausgabe lautet : aaab ...middle
Die Ausgabe lautet: aa ... ccmarquee
Die Ausgabe lautet : aaabbbccc wird automatisch von rechts nach links verschobenquelle
Nach meiner Erfahrung funktioniert Ellipsis nur, wenn unten zwei Attribute festgelegt sind.
Für die Breite der Textansicht sollten wrap_content oder match_parent beide gut sein.
quelle
android:singleLine
war seit API Level 3 veraltet, also stattdessen verwendenandroid:maxLines
. Bitte beachten Sie:> Wenn sowohl singleLine als auch inputType angegeben werden, überschreiben die inputType-Flags den Wert von singleLine. Schauen Sie sich die Dokumente unter R.attr.html # singleLineHow to Add an ellipsis in a TextView
android: Ellipsengröße in API Level 1 hinzugefügt. Eine Ellipse besteht aus drei Perioden hintereinander. (...).
In Ihrer XML
Zu diesem Zeitpunkt werden die Auslassungspunkte noch nicht angezeigt, da eine Textansicht so eingestellt ist, dass sie bei der Eingabe von neuem Text standardmäßig automatisch erweitert wird. Sie müssen die Textansicht in irgendeiner Weise einschränken. Wenn Sie dies tun, können Sie entweder Hinzufügen zu Ihrem hinzufügen
TextView a scrollHorizontally, minLines, or maxLines
, um die Ellipsenanzeige zu erhalten.So machen Sie die Ellipse:
Und
Und
Und
Hinweis Bitte:
Weitere Details finden Sie hier
quelle
Eine Ellipse besteht aus drei Perioden hintereinander ...
Die Textansicht verwendet Auslassungspunkte, wenn sie nicht erweitert werden kann, um den gesamten Text anzuzeigen. Das Attribut
ellipsized
legt bei Bedarf die Position der drei Punkte fest.quelle
Text:
Angenommen, oben ist Ihr Text, und wenn Sie
ellipsize
dasstart
Attribut verwenden, wird es so angezeigtmit
end
Attributquelle
Hier ist ein Beispiel dafür, wie Ellipsize funktioniert, ohne
android:singleLine="true"
in einem ConstraintLayout veraltet zu sein:Denken Sie daran, wenn Sie einen Text haben, der in einer einzelnen Zeile stehen soll, ändern Sie die maxLines in 1.
quelle
android:layout_width="0dp"
stattandroid:layout_width="wrap_content"
. Beachten Sie, dass dies zutrifft, da ich a verwendeConstraintLayout
. Auch hier diskutiert stackoverflow.com/a/48149405/2848676Hinweis: Ihr Text muss größer als der Container sein, damit Folgendes angezeigt wird:
quelle
Legen Sie diese Eigenschaft fest, um Text zu bearbeiten. Elipsize arbeitet mit deaktiviertem Bearbeitungstext
oder setKeyListener (null);
quelle
Verwenden Sie die Ellipsengröße, wenn Sie eine feste Breite haben. Dann wird der Text automatisch abgeschnitten und die Ellipse am Ende angezeigt.
Es funktioniert nicht, wenn Sie layout_width als wrap_content & match_parent festlegen.
quelle