首次进入页面的时候 我们需要设置一个引导页。
/**
* 判断是否是首次启动
*/
private SharedPreferences sharedPreferences;
private Boolean isFirst() {
sharedPreferences = getSharedPreferences( "isFirst",
Activity.MODE_PRIVATE );
int count = sharedPreferences.getInt( "isFirst", 0 );
// 如果是首次登录则进入引导页
if (count == 0) {
Editor myeditor = sharedPreferences.edit();
myeditor.putInt( "isFirst", ++ count );
myeditor.commit();
return true;
} else {
return false;
}
}
2:随后开启我们的动画。 注意 我们不是直接就开始跑我们的动画 而是借助handler实现我们的动画延时执行。
private void handlerStart() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
anima();
finish();
}
}, 1000);
}
public void anima() {
intent = new Intent( StartPageActivity.this, LoginActivity.class );
startActivity( intent );
overridePendingTransition( R.anim.fade, R.anim.hold );// 进入和出去的动画效果
}
播放动画的时候 需要注意 这个地方都是针对我们的当前页面的 前面的是进入动画 后面的时候 我们这个页面将要退出的时候 展示的动画。
另外动画的播放必须是放在。overridePendingTransition 方法必须在startActivity()或者 finish()方法的后面。
相对于我们屏幕的位置。
3:同时我们存在一个 装activity的集合。来实现我们将 展示的activity都装进去。
public class ActivityList {
public static List<Activity> activityList = new ArrayList<Activity>();
}
在我们的activity的onCreate方法里面我们都会执行这个操作。
ActivityList.activityList.add(this);
重写 返回键
/**
* 返回键重写.退出
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
this.finish();
}
return super.onKeyDown(keyCode, event);
}
4:自定义 对话框 主要在我们进行网络访问的时候 使用。
最简单的:
public ProgressDialog alertProgressDialog(String message) {
ProgressDialog progressDialog = new ProgressDialog( context );
progressDialog.setMessage( message );
progressDialog.setCancelable(true );// 不可以用“返回键”取消
return progressDialog;
}
注意 我们在得到 context的时候 我们就可以在onCreate里面 实现我们的获得context
context = this;
注意 首先讲解 ProgressDialog
这个是进度对话框,如果我们设置了style 他将按照我们自己的样式展示 否则的话 就会按照 系统本身的样式展示。
这个地方我们没有设置style 我们设置了icon title message
例子如下:
package com.Aina.Android;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Test_ProgressDialog extends Activity {
/** Called when the activity is first created. */
private ProgressDialog mpDialog;
private Button btn1,btn2;
private int mCount = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn1 = (Button) this.findViewById(R.id.Button01);
btn2 = (Button) this.findViewById(R.id.Button02);
btn1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
mpDialog = new ProgressDialog(Test_ProgressDialog.this);
mpDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//设置风格为圆形进度条
mpDialog.setTitle("提示");//设置标题
mpDialog.setIcon(R.drawable.icon);//设置图标
mpDialog.setMessage("这是一个圆形进度条");
mpDialog.setIndeterminate(false);//设置进度条是否为不明确
mpDialog.setCancelable(true);//设置进度条是否可以按退回键取消
mpDialog.setButton("确定", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
mpDialog.show();
}
});
btn2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
mCount = 0;
mpDialog = new ProgressDialog(Test_ProgressDialog.this);
mpDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mpDialog.setTitle("提示");
mpDialog.setIcon(R.drawable.icon);
mpDialog.setMessage("这是一个长型进度条");
mpDialog.setMax(100);
mpDialog.setProgress(0);
mpDialog.setSecondaryProgress(50);
mpDialog.setIndeterminate(false);
mpDialog.setCancelable(true);
mpDialog.setButton("取消", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
new Thread(){
public void run(){
try{
while(mCount<=100){
mpDialog.setProgress(mCount++);
Thread.sleep(100);
}
mpDialog.cancel();
}catch(Exception ex){
mpDialog.cancel();
}
}
}.start();
mpDialog.show();
}
});
}
}