Aller au contenu

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 ?

Lien vers le commentaire
Partager sur d’autres 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 ?

Lien vers le commentaire
Partager sur d’autres 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

Lien vers le commentaire
Partager sur d’autres 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.

Lien vers le commentaire
Partager sur d’autres 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)

Lien vers le commentaire
Partager sur d’autres 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

Lien vers le commentaire
Partager sur d’autres 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...

Modifié par bill350
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...