Android应用启动画面实现

习了网上的各式各样的启动画面后,总结并精简了了一下,自己实测后是有效的,记录一下。

第一种

通过ImageView结合Animation来实现。

首先在Mainfest里设置启动Activity的Theme

android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen"
在xml里拖入一个ImageView,让其填充

 <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

记得在layout里添加padding,否则会出现边框(影响美观)

android:padding="0dp"
回到Activity
public class MainActivity extends Activity {
	private ImageView loadImage;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		loadImage = (ImageView) findViewById(R.id.imageView1);
		Animation animation = new AlphaAnimation(0.5f, 1.0f);
		animation.setDuration(3000);		//持续时间
		loadImage.startAnimation(animation);
		animation.setAnimationListener(new LoadAnimation());	//设置动画监听器
	}
然后是动画监听器的部分

public class LoadAnimation implements AnimationListener {

		@Override
		public void onAnimationStart(Animation animation) {
			loadImage.setBackgroundResource(R.drawable.inori014);	//配置背景
		}

		@Override
		public void onAnimationEnd(Animation animation) {
			Intent intent=new Intent(MainActivity.this,NewActivity.class);	//结束启动画面(Activity)
			startActivity(intent);
			finish();
		}

		@Override
		public void onAnimationRepeat(Animation animation) {

		}

	}</span>
第二种

直接用xml设置好背景,然后用hanlder处理消息的机制来进入下一个Activity。

首先,同样设置好Manifest的Theme

xml直接添加背景

 android:background="@drawable/inori014"
回到Activity

其中

Handler().postDelayed(Runnable r,long  delayMillis)

这句为定一个延时后执行线程r,还是很容易理解的

public class MainActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		new Handler().postDelayed(new Runnable() {	//延时执行线程
			
			@Override
			public void run() {
				Intent intent=new Intent(MainActivity.this,NewActivity.class);
				MainActivity.this.startActivity(intent);
				MainActivity.this.finish();
			}
		}, 3000);
	}









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值