Der Aufruf TextView.setText () in regelmäßigen Abständen die Benutzeroberfläche Ruck verursacht

StackOverflow https://stackoverflow.com/questions/3815266

  •  26-09-2019
  •  | 
  •  

Frage

Ich bin Codierung einen Audio-Player, wo ein Thread der Textview aktualisiert, der die verstrichene Zeit der Spur, alle 250 Millisekunden.

Das Display sieht wie folgt aus:

1: 30/2: 30 <----- Progress Bar ----->

Textview 1. 1: 30 / und Textview 2 02.30

Beide sind auf wrap_content für Breite.

Was passiert, ist, dass bei jedem 250-Millisekunden-Zyklus, der Thread überprüft die aktuelle Zeit und Updates Textview 1. Für diesen kurzen Moment Textview 2 und die Fortschrittsbalken für einen Moment um etwa 2-4 Pixel nach rechts geschoben bekommen. Dann kommen sie wieder an Ort, bis dasselbe während des nächsten Zyklus geschieht.

Ich weiß nicht, was los ist. Es sind keine Leerzeichen am Ende, etc. und alles sollte theoretisch reibungslos funktioniert, aber es ist nicht.

Kann mir jemand helfen aus? Ich hoffe, dass jemand anderes ein ähnliches Problem konfrontiert haben ....

PS: Ich initialisieren Textview 1 auf 0:. 00 / und Textview 2 bis 0.00 Uhr in der Layout-XML-Datei und der Code Greift es von dort

War es hilfreich?

Lösung

als eine feste Breite mit (16-20dip?) Anstelle von wrap_content für diese Felder? Die Variable schrillen Schrift wird der Fortschrittsbalken bewegen, da 01.11 schmaler ist als, sagen wir, 01.59.

Oder gehen Sie auf einen fixed-pitch Schriftart, wenn die Zeiten immer die gleiche Anzahl von Zeichen sein werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top