Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Barra de progresso, usando Canvas, em Java ME

From Wiki
Jump to: navigation, search
Article Metadata

Artigo
Tradução:
Por valderind4
Última alteração feita por hamishwillee em 08 Aug 2013

Uma barra de progresso simples para ser usada em Canvas quando longas operações estiverem sendo feitas. Você pode ver um. Aqui você pode ter uma pré-visualização. Emulador barra de progresso em Canvas

J2me loading bar.png

Nós vamos iniciar definindo algumas variáveis de instância, que usaremos dentro do nosso código

public long stepInterval = 250L;
 
public int width = 0;
public int height = 0;
 
int padding = 0;
 
int color = 0x000000;
 
int squares = 0;
int squareWidth = 0;
 
int currentSquares = 0;
 
Timer stepTimer = null;

Agora o construtor da barra, que tem os argumentos:

  • tamanho da barra (width(largura) e height(altura))
  • padding(espaçamento) entre os quadrados
  • número de quadrados para ser usados.
  • cor dos quadrados
public LoadingBar(int width, int height, int padding, int squares, int color)
{
this.width = width;
this.height = height;
this.squares = squares;
 
this.color = color;
this.padding = padding;
 
this.squareWidth = (width - padding) / (squares) - padding;
}

O método Paint é bastante simples:

public void paint(Graphics g)
{
g.setColor(color);
 
for(int i = 0; i < currentSquares; i++)
{
g.fillRect(i * (squareWidth + padding), 0, squareWidth, height);
}
}

Finalmente, a animação lógica, onde usaremos um contador, e exibir o método start() e stop() para controla a animação da barra.

public void start()
{
stepTimer = new Timer();
 
stepTimer.schedule(new TimerTask()
{
public void run()
{
step();
}
},
stepInterval, stepInterval
);
}
public void stop()
{
stepTimer.cancel();
}
void step()
{
currentSquares = (currentSquares + 1) % (squares + 1);
}
This page was last modified on 8 August 2013, at 04:30.
197 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×