Hoje vamos aprender como fazer aqueles tão atraentes efeitos de transição de tela.A transição pode ser Out ou In. No modo Out a transição é aplicada na saída do form. E no modo In o efeito de transição é aplicado quando o form está entrando, ou seja sendo mostrado na tela.
Transições Comuns
Tipos de Transições
Transições Comuns
- Fade: a próxima tela surge de forma transparente sobrepondo a tela anterior.
NOMEDOFORM.setTransitionOutAnimator(CommonTransitions.createFade(TEMPO));TEMPO: Tempo de duração da transição, em milissegundos
- Slide: transição estilo de slide. A próxima tela surge pela vertical ou
horizontal.
- CommonTransitions.SLIDE_HORIZONTAL
- CommonTransitions.SLIDE_VERTICAL
BOOLEAN:
- true: a tela vem da esquerda para a direita ou de cima para baixo
- false: a tela vem da direita para a esquerda ou de baixo para cima
Transições 3D
- true: a tela gira da esquerda para a direita
- false: a tela gira da direita para a esquerda
- true: a tela gira da direita para a esquerda
- false: a tela gira da esquerda para a direita
-true: a tela está presa em cima e balança em baixo
- false: a tela está presa em baixo e balança em cima
Veja um aplicação de exemplo
NOMEDOFORM.setTransitionOutAnimator(CommonTransitions.createSlide(TIPO, BOOLEAN, TEMPO));TIPO:
- CommonTransitions.SLIDE_HORIZONTAL
- CommonTransitions.SLIDE_VERTICAL
BOOLEAN:
- true: a tela vem da esquerda para a direita ou de cima para baixo
- false: a tela vem da direita para a esquerda ou de baixo para cima
Transições 3D
- Cube: a transição funciona como um cubo giratório
NOMEDOFORM.setTransitionOutAnimator(Transition3D.createCube(TEMPO,BOOLEAN));BOOLEAN:
- true: a tela gira da esquerda para a direita
- false: a tela gira da direita para a esquerda
-
Rotation: É realizada uma rotação em torno do eixo central da tela
NOMEDOFORM.setTransitionOutAnimator(Transition3D.createRotation(TEMPO, BOOLEAN));BOOLEAN:
- true: a tela gira da direita para a esquerda
- false: a tela gira da esquerda para a direita
-
FlyIn: A nova tela surge do centro e cresce até preencher todo o espaço.
NOMEDOFORM.setTransitionOutAnimator(Transition3D.createFlyIn(TEMPO));
-
SwingIn: A próxima tela surge como uma janela balançando.
NOMEDOFORM.setTransitionOutAnimator(Transition3D.createSwingIn(TEMPO));ou
NOMEDOFORM.setTransitionOutAnimator(Transition3D.createSwingIn(TEMPO, BOOLEAN));BOOLEAN:
-true: a tela está presa em cima e balança em baixo
- false: a tela está presa em baixo e balança em cima
Veja um aplicação de exemplo
import com.sun.lwuit.Command;Para baixar o projeto completo clique aqui.
import com.sun.lwuit.Display;
import com.sun.lwuit.Form;
import com.sun.lwuit.animations.CommonTransitions;
import com.sun.lwuit.animations.Transition3D;
import com.sun.lwuit.events.ActionEvent;
import com.sun.lwuit.events.ActionListener;
import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.util.Resources;
import java.io.IOException;
import javax.microedition.midlet.*;
public class midletPrincipal extends MIDlet implements ActionListener{
Command troca, voltar;
Form fPrincipal;
Form fSecundario;
public void startApp() {
Display.init(this);
// TEMA
try{
Resources res = Resources.open("/imagens/javaTheme.res");
UIManager.getInstance().setThemeProps(res.getTheme(res.getThemeResourceNames()[0]));
}catch(IOException e){
}
fPrincipal = new Form("Transicoes");
fPrincipal.setTransitionOutAnimator(Transition3D.createCube(500, false));
troca = new Command("Trocar Tela");
fPrincipal.setCommandListener(this);
fPrincipal.addCommand(troca);
fPrincipal.show();
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == troca){
fSecundario = new Form();
voltar = new Command("Voltar");
fSecundario.addCommand(voltar);
fSecundario.setCommandListener(this);
fSecundario.setTransitionOutAnimator(CommonTransitions.createSlide(CommonTransitions.SLIDE_HORIZONTAL, false, 500));
fSecundario.show();
}
if(e.getSource() == voltar){
fPrincipal.show();
}
}
}
0 comentários:
Postar um comentário