Ich versuche, ein TextView auf 1 Zeile, die Länge des Bildschirms zu begrenzen. Ich habe Probleme, die Expansion zu verhindern.Wie Linien auf einem TextView zu begrenzen
Ich habe versucht, die xml
android:minLines="1" android:maxLines="1"
Attribute der Textview hinzufügen. Dadurch wird die Ansicht nicht expandiert, aber dies beschränkt nicht die Zeichen des Texts. Zum Beispiel, wenn ich die maximale Anzahl von Zeichen in einer Zeile eingegeben habe und fortfahren, ein '(' zu der Zeichenfolge hinzuzufügen, kann ich die Oberseite davon unter der ersten Zeile gedruckt.
Grundsätzlich brauche ich einen Weg . die Menge von Zeichen auf die Breite des Bildschirms zu begrenzen ich habe dies versucht.
while(txt.getLineCount() > 1) {
txt.setText(txt.getText().subSequence(0,txt.getText().length()-1));
}
, die überhaupt nicht arbeiten, ich habe auch versucht, das gleiche Verfahren mit den txt.getHeight()
zum txt.getTextSize()
zu vergleichen.
Ich habe keine Ideen.Was kann ich tun?
Da dies eine Textansicht ist, setzen Sie den Text darauf. Recht ? Steuern Sie das programmatisch während des settext(). –
Ich denke, du verpasst meinen Punkt. Ich verwende setText(). Ich möchte eine Methode, um die Anzahl der Zeichen auf nur die Länge des Bildschirms zu begrenzen. Wie Sie wissen, hat jedes Zeichen eine andere Breite, basierend auf der Schriftgröße. Ich brauche eine Methode, um mir genau zu sagen, wenn der angezeigte Text länger als die Breite der Ansicht wird. An dieser Stelle kann ich einfach text.setText (text.getText() .subSequence (0, text.getText(). Length-1)) sagen, um das Zeichen zu löschen, das die View-Breite überschreiten und/oder eine neue Zeile erstellen würde – user6191359
Sie möchten also nur eine Zeile in Textview einfügen, und dies wird sich je nach Bildschirm ändern, da sie sich in den Auflösungen unterscheiden. Recht ? –