Pergunta

Estou codificando um player de áudio, onde um thread atualiza o TextView representando o tempo decorrido da faixa, a cada 250 milissegundos.

A tela se parece com o seguinte:

1: 30/2: 30 <----- Barra de progresso ----->

O TextView 1 é 1: 30/ e TextView 2 é 2:30.

Ambos estão definidos para Wrap_Content para largura.

O que acontece é que, em cada ciclo de 250 milissegundos, o thread verifica a hora atual e atualiza o TextView 1. Para este breve momento, o TextView 2 e a barra de progresso são empurrados momentaneamente para a direita em cerca de 2-4 pixels. Então eles voltam a colocar até que a mesma coisa aconteça durante o próximo ciclo.

Eu não sei o que está acontecendo. Não há personagens espaciais à direita, etc. e tudo deveriam, teoricamente, estar funcionando sem problemas, mas não é.

Alguém pode me ajudar? Espero que outra pessoa possa ter enfrentado um problema semelhante ....

PS: Inicializo o TextView 1 a 0: 00/ e TextView 2 a 0:00 no arquivo XML do layout e o código o lida a partir daí.

Foi útil?

Solução

Considerado usando uma largura fixa (16-20dip?) Em vez de wrap_content para esses campos? A fonte arborizada variável vai mover a barra de progresso, já que 1:11 é mais estreita que, digamos, 1:59.

Ou vá para uma fonte de arremesso fixo, se os horários sempre serão o mesmo número de caracteres.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top