Códigos completo sem erros, testado.
Criando uma nova aplicação: Texto Animado
na pasta, res/ layout
crie um xml com o nome: animation_2.xml
adicione seguintes códigos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ViewFlipper android:id="@+id/flipper"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:flipInterval="2000"
android:layout_marginBottom="20dip" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textSize="26sp"
android:text="@string/animation_2_text_1"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textSize="26sp"
android:text="@string/animation_2_text_2"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textSize="26sp"
android:text="@string/animation_2_text_3"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textSize="26sp"
android:text="@string/animation_2_text_4"/>
</ViewFlipper>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dip"
android:text="@string/animation_2_instructions"
/>
<Spinner android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
|
Na pasta. res/values
adicione seguintes códigos no arquivo strings.xml:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, AnimaTextoActivity!</string>
<string name="app_name">Texto Animado</string>
<string name="animation_2_text_1">Acesse</string>
<string name="animation_2_text_2">ja!</string>
<string name="animation_2_text_3">http://developer-ddss.blogspot.com.br/</string>
<string name="animation_2_text_4">Programando em Android!</string>
<string name="animation_2_instructions">Selecione uma animação para o Texto acima:</string>
</resources>
|
*no arquivo strings.xml:
*São onde fica os texto mostrado na tela do emulador:
Agora vamos criar uma pasta no. res/ :
Chamada: anim
Dentro da pasta anim crie um arquivo XML com o nome: hyperspace_in.xml
Os códigos no XML hyperspace_in.xml são efeito de animação do texto de entrada.
Adicionando seguintes códigos no arquivo hyperspace_in.xml para criar o efeito:
1
2
3
4
5
6
7
|
<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="300"
android:startOffset="1200" />
|
Criando outro arquivo XML dentro da pasta anim:
com o nome: hyperspace_out.xml efeito de animação do texto de saída.
com códigos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<scale
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="1.0"
android:toXScale="1.4"
android:fromYScale="1.0"
android:toYScale="0.6"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="false"
android:duration="700" />
<set
android:interpolator="@android:anim/accelerate_interpolator"
android:startOffset="700">
<scale
android:fromXScale="1.4"
android:toXScale="0.0"
android:fromYScale="0.6"
android:toYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="400" />
<rotate
android:fromDegrees="0"
android:toDegrees="-45"
android:toYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="400" />
</set>
</set>
|
Criando outro arquivo XML dentro da pasta anim:
com o nome: push_left_in.xml
Aqui é outro Efeito de Animação para o texto de entrada.
com códigos:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="100%p"
android:toXDelta="0"
android:duration="300"/>
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="300" />
</set>
|
Criando outro arquivo XML dentro da pasta anim:
com o nome: push_left_out.xml
Aqui é o Efeito de Animação para o texto de saída.
com códigos:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="-100%p"
android:duration="300"/>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="300" />
</set>
|
Criando outro arquivo XML dentro da pasta anim:
com o nome: push_up_in.xml
Aqui é outro Efeito de Animação para o texto de entrada.
com códigos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="100%p"
android:toYDelta="0"
android:duration="300"/>
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="300" />
</set>
|
Criando outro arquivo XML dentro da pasta anim:
com o nome: push_up_out.xml
Aqui é o Efeito de Animação para o texto de saída.
1
2
3
4
5
6
7
8
9
10
11
12
|
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="0"
android:toYDelta="-100%p"
android:duration="300"/>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="300" />
</set>
|
Pronto!. Já criamos 4 feitos para o texto.
Falta agora colocar alguns código na nossa Activity.
Na pasta src/dentro pacote. Abra o arquivo: AnimaTextoActivity.java
fim
*Aqui estar o nome do meu pacote:
package com.davi;
Em seu projeto pode ser diferente.
Então deixe do jeito do seu. Não mude se for diferente*
*De baixo do pacote.
Você so precisa importar esses seguintes códigos:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.ViewFlipper;
É pra ficar desse jeito no arquivo JAVA: AnimaTextoActivity.java
Códigos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
package com.davi;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.ViewFlipper;
public class AnimaTextoActivity extends Activity implements
AdapterView.OnItemSelectedListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.animation_2);
mFlipper = ((ViewFlipper)this.findViewById(R.id.flipper));
mFlipper.startFlipping();
Spinner s = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>
(this,
android.R.layout.simple_spinner_item, mStrings);
adapter.setDropDownViewResource
(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter);
s.setOnItemSelectedListener(this);
}
public void onItemSelected(AdapterView parent, View v,
intposition, long id) {
switch (position) {
case 0:
mFlipper.setInAnimation(AnimationUtils.loadAnimation
(this,R.anim.push_up_in));
mFlipper.setOutAnimation(AnimationUtils.loadAnimation
(this,R.anim.push_up_out));
break;
case 1:
mFlipper.setInAnimation(AnimationUtils.loadAnimation
(this,R.anim.push_left_in));
mFlipper.setOutAnimation(AnimationUtils.loadAnimation
(this,R.anim.push_left_out));
break;
case 2:
mFlipper.setInAnimation(AnimationUtils.loadAnimation
(this,android.R.anim.fade_in));
mFlipper.setOutAnimation(AnimationUtils.loadAnimation
(this,android.R.anim.fade_out));
break;
default:
mFlipper.setInAnimation(AnimationUtils.loadAnimation
(this,R.anim.hyperspace_in));
mFlipper.setOutAnimation(AnimationUtils.loadAnimation
(this,R.anim.hyperspace_out));
break;
}
}
public void onNothingSelected(AdapterView parent) {
}
private String[] mStrings = {
"Efeito Empurre para cima. Push up",
"Efeito Empurre para esquerda. Push left",
"Efeito desaparecer. Cross fade", "Efeito Hiperespaço. Hyperspace"};
private ViewFlipper mFlipper;
}
|
Se aparecer algum erro(linha vermelha na
Na linha 12: public class AnimaTextoActivity extends Activity implements
.é por que a sua Activity estar diferente.
Para resolver esse erro. Deixe o igual a:
AnimaTextoActivity do seu projeto.
fim
Nenhum comentário:
Postar um comentário