web-dev-qa-db-fra.com

Que signifie ellipsize dans Android?

J'ai ajouté un EditText à ma mise en page, ainsi qu'un indice et l'a rendu centré horizontalement.

Lors de l'exécution de l'application, l'indicateur était invisible. J'ai trouvé que je devrais faire ellipsize valeur de TextView être 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" />

Dans la documentation Android, j'ai lu:

Si cette option est définie, les mots plus longs que la vue est large
ellipsisé au lieu de brisé au milieu.

Le problème est que ellipsize ne figure pas dans le dictionnaire. Quelqu'un peut-il m'expliquer quels avantages nous pouvons tirer de l'attribut ellipsize? Et quelle est la différence entre start, end, middle?

180
Hamzeh Soboh

Vous pouvez trouver la documentation ici .

En fonction de vos besoins, vous pouvez essayer selon l'option.

to ellipsize , un néologisme, signifie raccourcir le texte à l'aide d'un Ellipsis , c'est-à-dire trois points ... ou plus couramment ligature , pour remplacer les bits omis.

Dites la valeur originale de la vue texte est aaabbbccc et son adaptation à la vue

La sortie de start sera: ... bccc

La sortie de end sera: aaab ...

La sortie de middle sera: aa ... cc

La sortie de Marquee sera: aaabbbccc glissant automatiquement de droite à gauche

354
Rinkal Bhanderi

pour mon expérience, Ellipsis ne fonctionne que si deux attributs sont définis en dessous.

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

pour la largeur de textview, wrap_content ou match_parent devraient tous les deux être bons.

56
Zephyr

How to Add an Ellipsis in a TextView

Android: ellipsize ajouté à l'API niveau 1. Un Ellipsis est constitué de trois périodes consécutives. (...).

Dans votre xml

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

À ce stade, les points de suspension ne s'affichent pas encore car TextView est configuré pour se développer automatiquement par défaut lors de la saisie d'un nouveau texte. Vous devrez limiter le TextView d'une certaine manière. Pour ce faire, vous pouvez utiliser soit ajouter à votre _TextView a scrollHorizontally, minLines, or maxLines_ pour afficher les Ellipsis.

Pour faire l'ellipse:

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

Et

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

Et

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

Et

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

Note s'il vous plaît:

_ 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 (...)
_

Pour plus de détails, vous pouvez visiter ici

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

16
IntelliJ Amiya

Un Ellipsis correspond à trois périodes consécutives ...

TextView utilisera un Ellipsis quand il ne peut pas se développer pour afficher tout son texte. L'attribut ellipsized définit la position des trois points si nécessaire.

9
Sam

Texte:

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

Supposez ci-dessus votre texte et si vous utilisez l'attribut ellipsize de start, il apparaîtra comme ceci

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

avec l'attribut end

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

Remarque: votre texte doit être plus volumineux que la zone de conteneur pour les éléments suivants à Rectangle de sélection:

 Android:ellipsize="Marquee"    
1
ksu

Définissez cette propriété pour modifier le texte. Elipsize travaille avec désactiver le texte modifié

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

ou setKeyListener (null);

0
Mubarak

voici un exemple sur la façon dont ellipsize fonctionne sans utiliser obsolète Android:singleLine="true" dans un ConstraintLayout:

<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" />

rappelez-vous que si vous avez un texte supposé être sur une seule ligne, changez le maxLines en 1.

0
MojAmiri