城堡中的美女(1)

102 阅读1分钟

城堡中的美女(1) —-启动界面

启动界面activity:
设置acitivity全屏:
android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”

  <activity
            android:name="com.chb.beautifalGrils.MainActivity"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

启动界面的布局只是一个图片:
启动界面使用一个透明动画:

//设置动画
        Animation animation = new AlphaAnimation(0.3f, 1.0f);
        animation.setDuration(2000);
        view.startAnimation(animation);

设置动画监听:
animation.setAnimationListener(new AnimationLisetener() {…..})
onAnimationStart
onAnimationRepeat
onAnimationEnd
一般在onAnimationEnd()中设置动画结束, 跳到新的界面

package com.chb.beautifalGrils.app;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;

import com.chb.beautifalGrils.R;
import com.chb.beautifalGrils.app.activity.MainActivity;
/**
 * @author chb
 * 应用程序启动类: 显示启动界面并跳到主界面
 */
public class AppStart extends Activity {
    /**
     * 第一次进入应用
     */
    private boolean isFirstIn = false;
    /**
     * 显示启动界面
     */
    private static final int GO_HOME = 1000;
    /**
     * 跳到引导界面
     */
    private static final int GO_GUIDE = 1001;

    private static final String TAG = AppStart.class.getSimpleName();
    /**
     * SharedPreferences的存储文件名,
     * 记录是否是 第一次登陆的
     */
    private static final String SHAREPRREFERENCES_NAME = "fisrt_pref"; 



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_appstart);
        init();
    }
    /**
     * 初始化: 
     */
    private void init(){
        //使用SharedPreferences记录程序的次数
        SharedPreferences shp = getSharedPreferences(SHAREPRREFERENCES_NAME, MODE_PRIVATE);
        //取得相应的值
        isFirstIn = shp.getBoolean("isFirstIn", false);
        //如果是第一次登陆, 进入引导界面, 否则进入主界面
        Log.i(TAG, "isFirstIn>>"+isFirstIn);
        if(!isFirstIn){//进入引导界面

            handler.sendEmptyMessage(GO_HOME);
        }else {//进入主面
        }
    }
    /**
     * 跳到主界面
     */
    private void goHome() {
        View view = LayoutInflater.from(this).inflate(R.layout.activity_appstart, null);
        setContentView(view);
        //设置动画
        Animation animation = new AlphaAnimation(0.3f, 1.0f);
        animation.setDuration(2000);
        view.startAnimation(animation);
        animation.setAnimationListener(new AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
            }
            @Override
            public void onAnimationRepeat(Animation animation) {
            }
            @Override
            public void onAnimationEnd(Animation animation) {
                redirectTo();
            }

        });
    }

    /**
     * 重新定向到主界面
     */
    private void redirectTo() {
        Intent intent = new Intent(AppStart.this, MainActivity.class);
        startActivity(intent);
        AppStart.this.finish();
    }
    /**
     * handler 
     */
    private Handler handler = new Handler() {
        public void handleMessage(Message msg) {
            if(msg.what == GO_HOME){
                goHome();
            }else if(msg.what == GO_GUIDE){

            }
        };
    };
}