android splash 公司,Android手机卫士(一):实现splash

本文详细介绍了如何在Android项目中创建一个带有厂商信息和版本号的Splash屏幕,包括去除Activity标题、设置Splash布局和获取并显示版本名称。通过Activity和XML代码展示了实现步骤。
摘要由CSDN通过智能技术生成

从今天开始根据之前学习的android的基础知识,实战一下,实现一个简单功能的android手机卫士。

手机卫士的主要功能如下:

35d58eefb4f499ebd474579452ab69c1.png

什么是Splash

Splash也就是应用程序启动之前先启动一个画面,上面简单的介绍应用程序的厂商,厂商的LOGO,名称和版本等信息,多为一张图片,显示几秒钟后会自动消息,然后显示出应用程序的主体页面。在PC上,很常见各种平台的应用程序都会有,多半是一张图片显示在屏幕中央,如Microsoft Office系列,或者GIMP等。在各种游戏中Splash是最常见的,几乎所有的游戏开始都会有一张全屏的图片,上面通常都显示厂商的LOGO,游戏的名称等。在手机平板等移动设备上,类似PC的Splash很少,起码对于Android和iOS来讲原生的应用程序都没有这种Splash,但是不知从何时起,这种Splash开始在第三方应用中流行起来,几乎所有的第三方应用程序都有启动Splash。这些Splash的特点是占满整个屏幕,上面LOGO,厂商的名字,应用的名字版本等,大约3到5秒后,Splash自动消失,应用主页面显示出来。很多应用在Splash页面也显示加载过程。

使用Activity作为Splash

这可能也是最常用的方式,方法就是用一个Activity,给它设置一个背景,或者要显示的信息(厂商,LOGO,名字和版本),让它显示几秒种,然后finish()掉,并启动应用主体Activity。

手机卫士的splash页面初步如下:

9f65eede465b77c4a1a4d9052d1bcb18.png

splash布局

相应的代码在布局文件activity_splash.xml文件中:

XML/HTML代码

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@drawable/launcher_bg"

tools:context=".SplashActivity">

android:id="@+id/tv_version_name"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:shadowColor="#f00"

android:shadowDx="1"

android:shadowDy="1"

android:shadowRadius="1"

android:text="版本名"

android:textColor="#fff"

android:textSize="16sp"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_below="@+id/tv_version_name"/>

Activity去头操作&保留高版本主题

接下来去掉头部显示的标题:mobilesafe

方法1:在指定的activity中添加下面的代码:

Java代码publicclassSplashActivityextendsActivity {

@Override

protectedvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//去掉当前actinity的tittle

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_splash);

}

}

但是每一个activity都需要去配置,比较麻烦

方法2:将清单文件中的 android:theme="@style/AppTheme"修改为:android:theme="@android:style/Theme.Light.NoTitleBar"

可以达到效果,但是主题的其他样式也发生了变化,为了兼容这两方面,修改styles.xml,添加下面的代码:

XML/HTML代码

true

搞定

b412746d27fe622798f770b7edecbac9.png

获取版本名称并且展示

Java代码publicclassSplashActivityextendsActivity {

privateTextView tv_version_name;

@Override

protectedvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 去掉当前actinity的tittle

// requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_splash);

// 初始化UI

initUI();

// 初始化数据

initData();

}

/**

* 获取数据方法

*/

privatevoidinitData() {

// 应用版本名称

tv_version_name.setText("版本名:"+ getVersionName());

}

/**

* 获取版本名称:清单文件中

*

* @return 应用版本名称 返回null代表有异常

*/

privateString getVersionName() {

// 1.管理者对象packageManager

PackageManager pm = getPackageManager();

// 2.从包的管理者对象中,获取指定包名的基本信息(版本名称,版本号)

try{

PackageInfo packageInfo = pm.getPackageInfo(getPackageName(), 0);

// 3.获取版本名称

returnpackageInfo.versionName;

} catch(Exception e) {

e.printStackTrace();

}

returnnull;

}

/**

* 初始化UI方法 alt+shift+j

*/

privatevoidinitUI() {

tv_version_name = (TextView) findViewById(R.id.tv_version_name);

}

}

完成后,运行项目

09168c41b521f9ceecb83004585e1af3.png

2016年9月27日

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值