Jump to content

Autoscroller une textview


Nanis

Recommended Posts

Dans le cadre d'une appli mail j'aimerai pouvoir, lorsque mon sujet est trop long, le faire "défiler" afin que l'utilisateur puisse le voir en entier.

Un peu comme un scroll mais sans que l'utilisateur ne touche à rien

cela est il possible ?

Link to comment
Share on other sites

Oui j'avis vu la méthode scrollBy, en l'utilisant comme ça : textView.scrollBy(0, textView.lenght()); mais il ne semble pas que cela fonctionne.

Pierre87, pourquoi cela n'est pas ergonomique ? est ce que je doit plutôt le mettre sur plusieurs lignes alors ?

Link to comment
Share on other sites

D'apres ton premier message, j'ai compris que tu voulais faire defiler automatiquement le texte, comme un generique de film.

Je pense que ce n'est pas ergonomique dans ton cas, car aucune application que j'ai testé ne le fait.

Il y a surement une raison :D

Link to comment
Share on other sites

Si c'est pour lire le contenu d'un mail, comment être sûr que la vitesse de défilement correspondra à la vitesse nécessaire pour chacun des utilisateurs ? (en plus ça peut varier en fonction de la complexité ou de la langue du contenu du mail)

Si c'est trop lent ca va être frustrant, l'utilisateur va intervenir sur l'écran pour descendre plus vite.

Si c'est trop rapide ca va être frustrant, l'utilisateur va intervenir sur l'écran pour arrêter le défilement.

Sinon, une boucle via des postDelay() déclenchant des petits scrollBy() et ça devrait fonctionner.

Link to comment
Share on other sites

Je me suis mal exprimée.

Je ne veux pas scroller le mail, cela ne serai pas gérable pour l'utilisateur.

Je voudrais, dans l'en-tête de mon mail, pouvoir faire défiler horizontalement et automatiquement le sujet si celui ci est trop grand et qu'il n'apparait pas en entier sur la ligne (de part la petite taille des écrans portable, et des mails qui ont souvent des titres style "Re:Re:Re:Re:Re:......".

Sans cela l'utilisateur n'as jamais le sujet en entier, mis à part le mettre sur plusieurs lignes mais je trouvai plus sympa de le faire défiler automatiquement. (et surtout cela serai un gain de place)

Link to comment
Share on other sites

  • 2 weeks later...

Eh mais je viens de tomber là-dessus :

http://developer.android.com/reference/android/widget/TextView.html#attr_android:ellipsize

Une TextView peut porter un attribut android:ellipsize dont la valeur peut être 'marquee'. Cette valeur semble provoquer le défilement automatique du texte en cas de dépassement.

On peut par ailleurs contrôler le nombre de répétitions avec l'attribut android:marqueeRepeatLimit

http://developer.android.com/reference/android/widget/TextView.html#attr_android:marqueeRepeatLimit

C'est peut-être un peu tard... mais en fait tout est déjà dispo dans l'api :P

Link to comment
Share on other sites

  • 2 months later...

Pour être plus précis, "marquee" ne fonctionnera qu'avec les propriétés suivantes de renseignées :

 
android:singleLine="true" 
android:ellipsize="marquee" 
android:focusable="true" 
android:focusableInTouchMode="true" 

Enfin, faire défiler un texte avec la propriété ellipsize à "end" ne marchera pas. De même que deux textes avec "marquee" ne pourront défiler en même temps. Seul un sur les deux fonctionnera...

Edited by bill350
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...