您的位置:首页 > 移动开发 > Android开发

android应用程序安全卫士——1、splash界面实现方法

2013-09-09 21:33 351 查看
1、首先在layout文件夹中添加一个splash.xml文件,完成控件(TextView、ProgressBar:进度条)的添加。代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/logo2"
android:gravity="center_horizontal"
android:orientation="vertical"
android:id="@+id/ll_splash_main">

<TextView
android:id="@+id/tv_splash_version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="280dip"
android:text="@string/version"
android:textColor="#FF01b6f8"
android:textSize="20sp" />

<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dip"
/>

</LinearLayout>

2、SplashActivity代码编写,实现取消标题栏、全屏显示、获取清单文件中的versionName(版本号)、淡入淡出效果。

完整代码如下:

package com.example.mobilesafe.ui;

import com.example.mobilesafe.R;
import com.example.mobilesafe.R.layout;
import com.example.mobilesafe.R.menu;

import android.os.Bundle;
import android.app.Activity;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.text.Layout;
import android.view.Menu;
import android.view.Window;
import android.view.WindowManager;
import android.view.animation.AlphaAnimation;
import android.widget.LinearLayout;
import android.widget.TextView;

public class SplashActivity extends Activity {
private TextView tv_splash_version;
private LinearLayout ll_splash_main;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//取消标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.splash);
tv_splash_version=(TextView) this.findViewById(R.id.tv_splash_version);
ll_splash_main=(LinearLayout) this.findViewById(R.id.ll_splash_main);
//调用getVersion,获得版本号,设置tv_splash_version控件内容
String versiontext=getVersion();
tv_splash_version.setText(versiontext);
//动画效果,淡入淡出
//设置透明度
AlphaAnimation aa=new AlphaAnimation(0.0f, 1.0f);
//设置动画时间
aa.setDuration(2000);
//开始动画
ll_splash_main.startAnimation(aa);
//完成窗体的全屏显示
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}

/**
* 获取当前应用的版本号
* @return
*/
private String getVersion(){
//获得包管理服务
try {
//1、获得PackageManager
PackageManager manager=getPackageManager();
//2、获得包的信息
PackageInfo info=manager.getPackageInfo(getPackageName(), 0);
//3、获得versionName
return info.versionName;
} catch (Exception e) {
// TODO Auto-generated catch block
return "版本号未知";
}
}
}


知识点整理:

(1)实现应用的全屏显示:

1、取消标题栏:requestWindowFeature(Window.FEATURE_NO_TITLE);

2、完成窗体的全屏显示:getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

也可以在android的清单文件中找到需要全屏的activity,然后添加主题即可:android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: