Ich arbeite daran, den Text in einem Texteingabefeld so zu skalieren, dass alle Zeichen immer noch sichtbar sind, wenn die Länge der Eingabe zunimmt. Ich konnte die Größe des Textes mit dem unten stehenden Code ändern. Wenn ich jedoch zu schnell tippe, wird das erste Zeichen hinter die Auffüllung der TextInput
geschoben. Wie könnte der Text zurückgesetzt werden, um die Schriftgröße zurückzusetzen?Wie man Text mit dynamischer Größe hinter dem Padding von Kivy TextInput versteckt
class TeamNameField(TextInput):
def __init__(self, **kwargs):
super(TeamNameField, self).__init__(**kwargs)
self.bind(text=self.checkTextSize)
def checkTextSize(self, TeamNameField, text):
print(self.right)
print(self.text[-1:])
if self.cursor_pos[0] > (self.right - 50):
self.font_size -= 10
Ich ziehe nicht die Cursorposition mit der Länge der Saite zu bestimmen, aber es ist das Beste, was ich mit so weit habe kommen.
Es gab ein PR, das behebt, das ganze Zeichen nicht zu zeigen, wie es in Ihrem Screenshot sichtbar ist. Versuchen Sie, zum Hauptzweig zu aktualisieren. – KeyWeeUsr