一、目标。
并采用动画效果(逐渐变亮)打开启动界面,并进行应用程序的版本检查和更新提示,然后进入主页面,同时关闭启动页面。(由于版本检查和更新提示涉及服务器,所以将此操作放在后面介绍,现用按钮操作代替)
二、代码实现。
1、采用动画效果打开启动界面。
①.为启动界面的布局文件(activity_splash.xml)的最外层布局(RelativeLayout)增加id(splash_root_rl)。
②.在启动界面代码中的onCreate方法里面,在setText方法之后通过new的方式创建一个AlphaAnimation(fromAlpha, toAlpha)对象,取名aa。AlphaAnimation(fromAlpha, toAlpha)类中参数fromAlpha指初始透明度,1表示完全不透明,0表示完全透明;toAlpha指最后的透明度。
③.通过AlphaAnimation对象(aa)的setDuration(durationMillis)方法设置动画持续时间,参数durationMillis表示持续时间,毫秒为单位。
④.通过findViewById(int id)方法找到启动界面,返回View对象,再通过VIew对象的startAnimation (animation)方法开启动画。该方法中的参数animation就是需要启动的动画。
动画效果代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
1 protected void onCreate(Bundle savedInstanceState) { 2 super.onCreate(savedInstanceState); 3 setContentView(R.layout.activity_splash); 4 tv_version = (TextView) findViewById(R.id.tv_version); 5 tv_version.setText("当前版本"+getVersionNumber()); 6 7 AlphaAnimation aa = new AlphaAnimation(0.2f, 1.0f); 8 aa.setDuration(5000); 9 findViewById(R.id.splash_root_rl).startAnimation(aa); 10 }
2、进入主界面。
由于在启动界面中检查版本和更新提示涉及服务器,所以此操作后续介绍。
①.新建一个类,用于进入主页面,取名enterHome。
②.在enterHome方法中采用new的方式创建一个Intent(packageContext, cls)对象,取名intent,该方法中的参数packageContext表示包的上下文,cls表示要启动的类的名称。
③.通过startActivity (intent)的方法启动另一个Activity,参数intent就是指前面的Intent 对象。
④.采用finish()方法关闭当前的启动界面,防止用户在进入主页面后点击返回键又回到启动界面。
⑤.在启动界面上增加一个按钮,并设置点击事件,通过点击按钮进入界面。
进入主界面的代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
1 /* 2 * 进入主页面 3 */ 4 protected void enterHome() { 5 // 采用Intent启动主页面 6 Intent intent = new Intent(this, HomeActivity.class); 7 startActivity(intent); 8 // 关闭当前启动页面,防止用户在进入主页面之后点击返回键回到启动页面 9 finish(); 10 }