Nanis Posté(e) 1 mars 2010 Posté(e) 1 mars 2010 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 ? Citer
Cyril Mottier Posté(e) 1 mars 2010 Posté(e) 1 mars 2010 Il y a une option qui s'appelle ellipsize mais elle necessite le focus. Tu peux aussi utiliser un Handler qui fait avancer le scroll automatiquement via la méthode scrollBy. Citer
Nanis Posté(e) 2 mars 2010 Auteur Posté(e) 2 mars 2010 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 ? Citer
Pierre87 Posté(e) 2 mars 2010 Posté(e) 2 mars 2010 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 Citer
Nivek Posté(e) 2 mars 2010 Posté(e) 2 mars 2010 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. Citer
Nanis Posté(e) 2 mars 2010 Auteur Posté(e) 2 mars 2010 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) Citer
Nivek Posté(e) 15 mars 2010 Posté(e) 15 mars 2010 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 Citer
bill350 Posté(e) 21 mai 2010 Posté(e) 21 mai 2010 Bonjour, Voir ce sujet pour plus d'explications sur les contraintes et les propriétés requises pour défiler un texte: http://groups.google.com/group/android-developers/browse_thread/thread/08f09e0fdb9d25e0/2ab50ff5dcc83109?show_docid=2ab50ff5dcc83109 Citer
bill350 Posté(e) 21 mai 2010 Posté(e) 21 mai 2010 (modifié) 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é 21 mai 2010 par bill350 Citer
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.