You Are Here:

Community: Wiki

This page was last modified on 7 September 2009, at 02:00.

Barra de progresso, usando Canvas, em Java ME

From Forum Nokia Wiki

Original em: J2ME Canvas Loading Bar

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

Image: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);
}

Related Wiki Articles

No related wiki articles found

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia