FileDocCategorySizeDatePackage
TextSwitcher1.javaAPI DocGoogle Android v1.5 Example2548Sun Nov 11 13:01:04 GMT 2007com.google.android.samples.view

TextSwitcher1.java

/* 
 * Copyright (C) 2007 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.google.android.samples.view;

import android.app.Activity;
import android.os.Bundle;
import android.text.Layout.Alignment;
import android.util.DateFormat;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.TextSwitcher;
import android.widget.TextView;
import android.widget.ViewSwitcher;

import com.google.android.samples.R;

import java.util.Calendar;

/**
 * Using a LogTextBox to display a scrollable text area to which text is
 * appended.
 * 
 */
public class TextSwitcher1 extends Activity implements ViewSwitcher.ViewFactory {

    private final static String TIME_FORMAT = "h:mm:ss aa";
    private TextSwitcher mSwitcher;
    Calendar mCalendar;

    @Override
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        setContentView(R.layout.text_switcher_1);

        mSwitcher = (TextSwitcher) findViewById(R.id.switcher);
        mSwitcher.setFactory(this);

        Animation in = AnimationUtils.loadAnimation(this,
                android.R.anim.fade_in);
        Animation out = AnimationUtils.loadAnimation(this,
                android.R.anim.fade_out);
        mSwitcher.setInAnimation(in);
        mSwitcher.setOutAnimation(out);

        mCalendar = Calendar.getInstance();

        Button nextButton = (Button) findViewById(R.id.next);
        nextButton.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                showTime();
            }
        });

        showTime();
    }

    private void showTime() {
        mCalendar.setTimeInMillis(System.currentTimeMillis());
        mSwitcher.setText(DateFormat.format(TIME_FORMAT, mCalendar));
    }

    public View makeView() {
        TextView t = new TextView(this);
        t.setAlignment(Alignment.ALIGN_CENTER);
        t.setTextSize(36);
        return t;
    }
}