J'ai ajouté un EditText
à ma mise en page, ajouté un indice et l' ai centré horizontalement.
Lors de l'exécution de l'application, l'indice était invisible. J'ai trouvé que je devais ellipsize
valoriser le 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, je lis:
S'il est défini, les mots qui sont plus longs que la vue large sont
ellipsés au lieu d'être cassés au milieu.
Le problème est que cela ellipsize
ne se trouve pas dans le dictionnaire. Quelqu'un peut-il m'expliquer quels avantages nous pouvons gagner par ellipsize
attribut? Et quelle est la différence entre start
, end
, middle
?
android
android-layout
textview
Hamzeh Soboh
la source
la source
Réponses:
Vous pouvez trouver la documentation ici .
En fonction de vos besoins, vous pouvez essayer selon l'option.
à ellipsize , un néologisme, des moyens de texte Raccourcir l' aide d' un des points de suspension , soit trois points
...
ou plus communément ligatures…
, se tenir pour les bits omis.Dire que la valeur du texte de la valeur pf d'origine est aaabbbccc et son ajustement à l'intérieur de la vue
start
La sortie de sera: ... bcccend
La sortie de sera: aaab ...middle
La sortie sera: aa ... ccmarquee
La sortie de sera: aaabbbccc glissement automatique de droite à gauchela source
d'après mon expérience, Ellipsis ne fonctionne que si deux attributs en dessous sont définis.
pour la largeur de textview, wrap_content ou match_parent devraient tous deux être bons.
la source
android:singleLine
était obsolète depuis le niveau 3 de l'API, alors utilisez plutôtandroid:maxLines
. Veuillez noter:> si singleLine et inputType sont fournis, les drapeaux inputType remplaceront la valeur de singleLine. Découvrez les documents sur R.attr.html # singleLineHow to Add an ellipsis in a TextView
android: ellipsize ajouté dans le niveau 1 de l'API .Une ellipse est de trois périodes consécutives. (...).
Dans votre Xml
À ce stade, les points de suspension ne s'afficheront pas encore car TextView est configuré pour s'étendre automatiquement par défaut lors de la saisie d'un nouveau texte. Vous devrez limiter le TextView d'une manière ou d'une autre. Pour ce faire, vous pouvez utiliser soit ajouter à votre
TextView a scrollHorizontally, minLines, or maxLines
pour afficher les points de suspension.Pour faire l'ellipse:
Et
Et
Et
Remarque:
Pour plus de détails, vous pouvez visiter ici
la source
Une ellipse représente trois périodes consécutives ...
TextView utilise des points de suspension lorsqu'il ne peut pas se développer pour afficher tout son texte. L'attribut
ellipsized
définit la position des trois points si cela est nécessaire.la source
Texte:
Supposons que ci-dessus soit votre texte et si vous utilisez
ellipsize
l'start
attribut de, il apparaîtra comme ceciavec
end
attributla source
voici un exemple sur la façon dont ellipsize fonctionne sans utiliser obsolète
android:singleLine="true"
dans un ConstraintLayout:rappelez-vous si vous avez un texte censé être sur une seule ligne, puis changez les maxLines à 1.
la source
android:layout_width="0dp"
au lieu deandroid:layout_width="wrap_content"
. Notez que cela s'applique car j'utilise unConstraintLayout
. Également discuté ici stackoverflow.com/a/48149405/2848676Remarque: votre texte doit être plus grand que la zone de conteneur pour les éléments suivants à marquer:
la source
Définissez cette propriété pour modifier le texte. Elipsize fonctionne avec désactiver le texte d'édition
ou setKeyListener (null);
la source
Utilisez des points de suspension lorsque vous avez une largeur fixe, puis il tronquera automatiquement le texte et affichera les points de suspension à la fin,
cela ne fonctionnera pas si vous définissez layout_width comme wrap_content & match_parent.
la source