城堡中的美女(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){
}
};
};
}