J'ai un textView scrollable, et je veux limiter le nombre de lignes affichées, mais les propriétés xml ne fonctionnent pas:
<TextView
Android:id="@+id/tv_addesc"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:scrollbars="vertical"
Android:maxLines="12"
Android:textColor="#FFFFFFFF"
Android:textSize="15sp" />
le nombre de lignes affichées est 50 et le texte contient 900 caractères.
Comment puis-je limiter le nombre de lignes affichées et le faire défiler?
Edit: J'ai testé avec 846 lignes et 15824 caractères, tout le texte est affiché quel que soit le jeu de propriétés.
Edit: il y avait un deuxième composant à côté de textView, quand je l’ai supprimé, cela fonctionnait, je vais donc trouver une solution de contournement. Je vous remercie !
Il vous suffit de définir un nombre de lignes dans votre TextView
comme ceci:
Android:maxLines = "10"
et vous devez également ajouter:
Android:minLines="1"
Le reste de ceci n'est pas nécessaire si vous n'utilisez pas le défilement
et une propriété qui dit que cette TextView doit pouvoir défiler verticalement:
Android:scrollbars = "vertical"
Et dans votre code Java:
yourTextView.setMovementMethod(new ScrollingMovementMethod())
placez votre affichage texte en mode défilement et définissez une hauteur fixe.
<ScrollView
Android:id="@+id/scrollView1"
Android:layout_width="fill_parent"
Android:layout_height="120dip" >
<TextView
Android:id="@+id/tv_addesc"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:maxLines="12"
Android:scrollbars="vertical"
Android:textColor="#FFFFFFFF"
Android:textSize="15sp" />
</ScrollView>
définir les propriétés selon vos besoins
<ScrollView
Android:id="@+id/scrollView1"
Android:layout_width="fill_parent"
Android:layout_height="120dip" >
<TextView
Android:id="@+id/tv_addesc"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:maxLines="12"
Android:scrollbars="vertical"
Android:textColor="#FFFFFFFF"
Android:textSize="15sp" />
</ScrollView>
Trouvez votre textview par identifiant:
TextView myTextBox=(TextView)findViewById(R.id.textBox);
Maintenant, utilisez la fonction setMaxLines et assignez le nombre de lignes que vous souhaitez, disons 20.
myTextBox.setMaxLines(20);
Cela limite votre zone de texte pour afficher 20 lignes seulement.
hé essayez de définir la propriété singleline sur false. Voyez si ça marche.
J'ai essayé comme dit dans la réponse acceptée et d'autres mais cela n'a pas fonctionné pour moi, mais après avoir ajouté Android:ellipsize="Marquee"
, cela fonctionne maintenant ..