web-dev-qa-db-ger.com

Was bedeutet Ellipsengröße in Android?

Ich habe meinem Layout ein EditText 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 des TextView machen sollte, um start zu sein:

<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 gesetzt, werden Wörter, die länger als die Ansicht sind, breit
ellipsenförmig statt mittig gebrochen.

Das Problem ist, dass ellipsize nicht im Wörterbuch gefunden wird. Kann mir jemand erklären, welche Vorteile wir durch das Attribut ellipsize erzielen können? Und was ist der Unterschied zwischen start, end, middle?

180
Hamzeh Soboh

Sie finden die Dokumentation hier .

Abhängig von Ihrer Anforderung können Sie die entsprechende Option ausprobieren.

zu Ellipsize , einem Neologismus, bedeutet, Text mit einem Ellipsis zu kürzen, d. h. drei Punkte ... oder häufiger Ligatur , um für die ausgelassenen Bits einzutreten.

Angenommen, der ursprüngliche Wert der Textansicht ist aaabbbccc und passt in die Ansicht

Die Ausgabe von start lautet: ... bccc

Die Ausgabe von end lautet: aaab ...

Die Ausgabe von middle lautet: aa ... cc

Die Ausgabe von Marquee lautet: aaabbbccc Automatisch von rechts nach links gleiten

354
Rinkal Bhanderi

aus meiner Erfahrung funktioniert Ellipsis nur, wenn unten zwei Attribute festgelegt sind.

Android:ellipsize="end"
Android:singleLine="true"

für die Breite der Textansicht sollten wrap_content oder match_parent beide gut sein.

56
Zephyr

How to Add an Ellipsis in a TextView

Android: Ellipsengröße in API Level 1 hinzugefügt. Eine Ellipse besteht aus drei Punkten in einer Reihe. (...).

In Ihrer XML

 <TextView
       ....
       Android:text="Hi I am Amiyo,you can see how to ellipse works."
       Android:ellipsize = "end"  
   />

Zu diesem Zeitpunkt wird die Ellipse noch nicht angezeigt, da eine Textansicht so eingestellt ist, dass sie standardmäßig automatisch erweitert wird, wenn neuer Text eingegeben wird. Sie müssen die Textansicht in irgendeiner Weise einschränken. Tun Sie dies, können Sie entweder hinzufügen, um Ihre TextView a scrollHorizontally, minLines, or maxLines, um die Ellipse anzuzeigen.

So erstellen Sie die Ellipse:

    at the end: this is how it would...     
   use: Android:ellipsize = "end"

Und

 in the middle: this is ...how it would
use: Android:ellipsize = "middle"

Und

 at the start: ...this is how it would
use: Android:ellipsize = "start"

Und

 to have no ellipse
use: Android:ellipsize = "none"

Bitte beachten Sie:

 Do not use Android:singeLine = "true", it is deprecated.
Android:maxLines = "1" will not display the three dots (...)
Android:lines = "1" will not display the three dots (...)

Weitere Details finden Sie hier

http://developer.Android.com/reference/Android/widget/TextView.html#attr_Android%3aellipsize

16
IntelliJ Amiya

Ein Ellipse ist drei Punkte in Folge ...

Die Textansicht verwendet eine Ellipse, wenn sie nicht zur Anzeige des gesamten Texts erweitert werden kann. Das Attribut ellipsized legt die Position der drei Punkte fest, falls dies erforderlich ist.

9
Sam

Text:

 This is my first Android application and
 I am trying to make a funny game,
 It seems Android is really very easy to play.

Angenommen, oben steht Ihr Text, und wenn Sie das ellipsize-Attribut von start verwenden, sieht es so aus

This is my first Android application and
...t seems Android is really very easy to play.

mit end Attribut

 This is my first Android application and
 I am trying to make a funny game,...
5
subodh

Hinweis: Ihr Text muss größer als das Containerfeld sein, damit Folgendes in das Auswahlrechteck aufgenommen werden kann:

 Android:ellipsize="Marquee"    
1
ksu

Legen Sie diese Eigenschaft zum Bearbeiten von Text fest. Elipsize arbeitet mit deaktivierter Textbearbeitung

Android:lines="1"
Android:scrollHorizontally="true"
Android:ellipsize="end"
Android:singleLine="true"
Android:editable="false"

oder setKeyListener (null);

0
Mubarak

hier ist ein Beispiel, wie ellipsize funktioniert, ohne veraltete Android:singleLine="true" in einem ConstraintLayout zu verwenden:

<TextView
   Android:layout_width="0dp"
   Android:layout_height="wrap_content"
   Android:textSize="13sp"
   Android:ellipsize="end"
   Android:maxLines="2"
   app:layout_constraintEnd_toEndOf="parent"
   app:layout_constraintStart_toStartOf="parent"
   tools:text="long long long long long long text text text" />

denken Sie daran, wenn Sie einen Text haben, der in einer einzelnen Zeile stehen soll, ändern Sie maxLines in 1.

0
MojAmiri