手机安全卫士(1)--启动画面全屏显示&动画加载&版本号

    全屏转载文章:http://blog.csdn.net/harry_helei/article/details/7690520

  动画加载转载文章(activity之间):http://mzh3344258.blog.51cto.com/1823534/807337

   动画加载转载文章(view动画)  : http://blog.csdn.net/forlong401/article/details/9750903



在android应用开发中,我们往往希望程序启动的时候,能够全屏的显示一张图片,并且能够以动画的形式加载加来,
这里就就解决这两个问题。
1.全屏显示,在代码中实现:
// 设置无标题
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 全屏显示
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 0);
//这句话一定要放在最后,负责后报错
setContentView(R.layout.splash);

2.动画加载:
//动画显示
AlphaAnimation aa = new AlphaAnimation(0.0f, 1.0f);
aa.setDuration(2000);
ll_splash_main.startAnimation(aa);

//我在运行上面的代码的时候竟然发现,如果我的后面后面导入主界面的画面
//即:动画完之后就应该是主界面,可我发现,动画都没有显示,就直接进入主界面了
//我想是不是 这个持续时间是异步的(我猜的),没办法,我只能让主线程等待2s
//让动画显示完毕之后,再去加载主界面


activity之间切换时的动画效果:

<span style="font-size:18px;">	@Override
	public void onClick(View v) {

		switch (v.getId()) {
		case R.id.btn_next:
			Intent intent = new Intent(this, SetUpGuide2Activity.class);
			// 从当前任务栈李移除,防止用户按back键回到当前页面
			finish();
			startActivity(intent);

			// 设置activity切换时的动画效果 淡入淡出
			overridePendingTransition(R.anim.alpha_in, R.anim.alpha_out);

			break;

		}
	}</span>
</pre><pre name="code" class="java">
<span style="font-size:18px;">资源文件</span>
<span style="font-size:18px;"><pre name="code" class="java"><?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="300"
    android:fromAlpha="0.0"
    android:toAlpha="1.0" >

</alpha></span>


<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="400"
    android:fromXDelta="100%p"
    android:toXDelta="0" >

</translate></span>


<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="400"
    android:fromXDelta="0"
    android:toXDelta="-100%p" >

</translate></span>


 

3.版本号:

当前应用程序的版本号:

在我们的AndroidManifest.xml清单文件中,就有我们的版本号,所以我们取出的版本号即来自这里

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="cn.itcast.modifysafe"    android:versionCode="1"    android:versionName="1.0" >

  private String getVersionName() throws Exception   {           // 获取packagemanager的实例           PackageManager packageManager = getPackageManager();           // getPackageName()是你当前类的包名,0代表是获取版本信息           PackageInfo packInfo = packageManager.getPackageInfo(getPackageName(),0);           String version = packInfo.versionName;           return version;   }

 

获取当前系统的版本号:

        textView.setText("Product Model: " + android.os.Build.MODEL + "," 
                + android.os.Build.VERSION.SDK + "," 
                + android.os.Build.VERSION.RELEASE); 



//看代码

<span style="font-size:18px;"><span style="font-size:18px;">package cn.itcast.modifysafe.ui;

import cn.itcast.modifysafe.R;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.view.Menu;
import android.view.Window;
import android.view.WindowManager;
import android.view.animation.AlphaAnimation;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;

//全屏显示
//显示版本号


public class AplashActivity extends Activity {

	private TextView tv_splash_version;
	private RelativeLayout ll_splash_main;
	private Handler handler=new Handler () {

		public void handleMessage(Message msg) {
			super.handleMessage(msg);
			loadMainUi();
		}
	};

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		// 设置无标题
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		// 全屏显示
		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 0);
		setContentView(R.layout.splash);
		tv_splash_version = (TextView) findViewById(R.id.tv_splash_version);
		ll_splash_main = (RelativeLayout) findViewById(R.id.ll_splash_main);

		//动画显示
		AlphaAnimation aa = new AlphaAnimation(0.0f, 1.0f);
		aa.setDuration(2000);
		ll_splash_main.startAnimation(aa);

		String vrsionName = getVersionName();
		tv_splash_version.setText(vrsionName);
		
		//主线程延时2s 让动画完全显示完毕
		new Thread() {
			public void run() {
				try {
					sleep(2000);
					handler.sendEmptyMessage(0);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				
			}
			
		}.start();
		
		
	}

	// 得到版本号
	private String getVersionName() {

		String version = null;
		try {
			// 获取packagemanager的实例
			PackageManager manager = getPackageManager();
			// getPackageName 是你当前类的包名,0代表获取版本信息
			PackageInfo info = manager.getPackageInfo(getPackageName(), 0);
			version = info.versionName;
		} catch (NameNotFoundException e) {
			e.printStackTrace();
			return "版本号未知";
		}
		return version;

	}

	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
	
	private void loadMainUi () {
		
		Intent intent =new Intent();
		intent.setClass(AplashActivity.this, MainActivity.class);
		startActivity(intent);
		finish();
	}

}
</span></span>

布局文件代码:

<span style="font-size:18px;"><span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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_marginBottom="72dp"
        android:text="版本号"
        android:textColor="#555555"
        android:textSize="25sp" />

</RelativeLayout></span></span>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值