Skip to content

Most visited

Recently visited

navigation
TextSwitcher / src / com.example.android.textswitcher /

MainActivity.java

1
/*
2
 * Copyright 2013 The Android Open Source Project
3
 *
4
 * Licensed under the Apache License, Version 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
7
 *
8
 *       http://www.apache.org/licenses/LICENSE-2.0
9
 *
10
 * Unless required by applicable law or agreed to in writing, software
11
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 * See the License for the specific language governing permissions and
14
 * limitations under the License.
15
 */
16
 
17
package com.example.android.textswitcher;
18
 
19
import android.app.Activity;
20
import android.os.Bundle;
21
import android.view.Gravity;
22
import android.view.View;
23
import android.view.animation.Animation;
24
import android.view.animation.AnimationUtils;
25
import android.widget.Button;
26
import android.widget.TextSwitcher;
27
import android.widget.TextView;
28
import android.widget.ViewSwitcher.ViewFactory;
29
 
30
/**
31
 * This sample shows the use of the {@link android.widget.TextSwitcher} View with animations. A
32
 * {@link android.widget.TextSwitcher} is a special type of {@link android.widget.ViewSwitcher} that animates
33
 * the current text out and new text in when
34
 * {@link android.widget.TextSwitcher#setText(CharSequence)} is called.
35
 */
36
public class MainActivity extends Activity {
37
    private TextSwitcher mSwitcher;
38
    private int mCounter = 0;
39
 
40
    @Override
41
    protected void onCreate(Bundle savedInstanceState) {
42
        super.onCreate(savedInstanceState);
43
        setContentView(R.layout.sample_main);
44
 
45
        // Get the TextSwitcher view from the layout
46
        mSwitcher = (TextSwitcher) findViewById(R.id.switcher);
47
 
49
        // Set the factory used to create TextViews to switch between.
50
        mSwitcher.setFactory(mFactory);
51
 
52
        /*
53
         * Set the in and out animations. Using the fade_in/out animations
54
         * provided by the framework.
55
         */
56
        Animation in = AnimationUtils.loadAnimation(this,
57
                android.R.anim.fade_in);
58
        Animation out = AnimationUtils.loadAnimation(this,
59
                android.R.anim.fade_out);
60
        mSwitcher.setInAnimation(in);
61
        mSwitcher.setOutAnimation(out);
63
 
64
        /*
65
         * Setup the 'next' button. The counter is incremented when clicked and
66
         * the new value is displayed in the TextSwitcher. The change of text is
67
         * automatically animated using the in/out animations set above.
68
         */
69
        Button nextButton = (Button) findViewById(R.id.button);
70
        nextButton.setOnClickListener(new View.OnClickListener() {
71
 
72
            @Override
73
            public void onClick(View v) {
74
                mCounter++;
76
                mSwitcher.setText(String.valueOf(mCounter));
78
            }
79
        });
80
 
81
        // Set the initial text without an animation
82
        mSwitcher.setCurrentText(String.valueOf(mCounter));
83
 
84
    }
85
 
87
    /**
88
     * The {@link android.widget.ViewSwitcher.ViewFactory} used to create {@link android.widget.TextView}s that the
89
     * {@link android.widget.TextSwitcher} will switch between.
90
     */
91
    private ViewFactory mFactory = new ViewFactory() {
92
 
93
        @Override
94
        public View makeView() {
95
 
96
            // Create a new TextView
97
            TextView t = new TextView(MainActivity.this);
98
            t.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
99
            t.setTextAppearance(MainActivity.this, android.R.style.TextAppearance_Large);
100
            return t;
101
        }
102
    };
104
}
This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.