类似这种手机应用一进去就有的画面,通常叫做splash
作用大概就: 1.展现产品LOGO.
2.初始化操作
3.连接服务器
等等.....
要制作他很简单.....
直接在创建一个新的android application project的时候, 把创建Mainativity那一步改成SplashActivity就可以了.
他的Layout当然也是 activtty_splansh.
接下来把图片等放到res/drawable-hdpi 那里. (我的背景图名字叫logo2
在activity_splash.xml 的Layout那里加一句
android:background="@drawable/logo2"
就能得到上面的结果了..
其余的布局不难看出 就是一个 TextView 和 一个 ProgressBar
先说说怎么获得这个应用的version号吧.
private String getVersion()
{
PackageManager pm=this.getPackageManager(); //获取包管理器
try
{
PackageInfo info=pm.getPackageInfo(getPackageName(), 0);
return info.versionName;
}
catch (Exception e) //出现的异常最多只是包名未找到,不过基本不会发生的
{
e.printStackTrace();
return "";
}
}
获取包管理器:getPackageManager();
通过包管理器获取包信息 :getPackageInfo(当前的报名, 第二个参数附加信息这里设为0)
其中版本号就在包信息里面哦~
在SplashActivity中添加
private TextView tv_splash_version;
tv_splash_version=(TextView)findViewById(R.id.tv_splash_version);
tv_splash_version.setText("版本号:"+getVersion());
定义一个Textview类
绑定到需要控制的那个ID上
使用setText(" ")
splash总要消失的,让Mainactivity登场的..
所以正常思路就是让他固定呆若干毫秒之后,就跳转到另外一个activity上
首先你得创立回一个MainActivity,因为一开始创立的是splashactivity
直接new一个other,找到activity并创建(其中xml也会伴随一起创建的.
创好之后就有2个activity在src里面了.
滞留并跳转
在splashativity.java中加入
handler.postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
}, 3000);
使用handler.postDelayed(Runnable(),时间)让他滞留 这里3000就是3秒.
使用intent建立起桥梁,连接两个activity.
运行后就会跳转了