Jump to content

Adapter automatiquement la taille du texte dans un textview.


Profete162

Recommended Posts

Salut à tous,

J'utilise un textview de taille fixe pour afficher certains éléments d'une base de données.

Le petit stress est que certains de ces éléments sont assez longs et que la textview n'en affiche qu'une partie.

J'ai tenté un bout de code comme celui-ci:

        while(monTextView.getLineCount()>1)
       {
           monTextView.setTextSize(monTextView.getTextSize()-1);
       }

Mais cela fonctionne de temps en temps avec un comportement bizarre.

Avez vous d'autres idées pour afficher correctement le texte en entier?

Merci d'avance

Link to comment
Share on other sites

Tu ne peux pas mettre "wrap_content" dans les attributs xml layout_height / layout_width ?

Si, mais je suis limité par la taille de l'écran ;-)

Je ne peux plus agrandir la taille de ma textview ( en fait mea culpa, c'est un bouton avec du texte pas un textview) Car les autres éléments à l'écran ne lui laissent plus de place.

C'est vraiment la taille du texte qui doit diminuer

Je vais y jeter un look en espérant que ce soit compatible avec un bouton

Link to comment
Share on other sites

Disons qu'en tant qu'utilisateur je préfère avoir toujours la même taille de texte et un défilement au besoin (ellipsize:marquee donc apparemment), parce que l'histoire d'adaptation de la taille du texte à la taille du conteneur c'est risquer de se retrouver avec une font qui va de 16dip à 8dip, bonjour l'expérience utilisateur :/

Et les WebView je suis pas hyper fan non plus, ça a pas un peu tendance à être très lourd ?

Link to comment
Share on other sites

Je suis tout à fait d'accord avec toi naholyr.

Une premiere solution consiste à utiliser: monTexte.setSingleLine(true);

Car en fait mon problème venait de mon appli des trains, par défaut, Android coupe le texte au niveau du caractère "-" Ce qui fait que dans Bruxelles-luxembourg, par exemple, il manque juste la place pour le "G" final dans la textview.

Android affiche alors juste "Bruxelles-", ce qui peut-être déroutant, juste pour un G manquant. En mettant setSingleLine(true) il affiche bien bien "Bruxelles-Luxembour"(sans le G) ce qui est donc convenable.

Bien oui, en belgique, nous avons quelques noms folkloriques du genre: berchem-saint-agathe, rhode-saint-genese, jemeppe sur sambre, brussels national luchtaven et j'en passe.

à retenir de ma question, en conclusion: monTexte.setSingleLine(true);

Link to comment
Share on other sites

Tu n'as pas testé le défilement ? Parce que dans mon appli au début j'avais testé cet attribut justement, mais je n'avais jamais réussi à le faire marcher. Comme je débute dans le domaine j'ai certainement loupé des trucs (surtout à l'époque), du coup un retour m'intéressait ;)

Link to comment
Share on other sites

Ce qui me surprend la dedans, c'est que dans mon jeu, j'ai un textview ou je mets le mots que rentre le joueur à partir d'une grille de lettres, et j'ai remarqué que le scale se faisait automatiquement s'il rentrait trop de lettres.

Mais je ne crois pas avoir fait expres !!!!

gratte, gratte, gratte...

Emmanuel / Alocaly

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...