Android软件启动动画及动画结束后跳转的实现方法
本文实例讲述了Android软件启动动画及动画结束后跳转的实现方法。分享给大家供大家参考,具体如下:
自己写了个小程序,软件启动时,先显示几张图片,每3秒显示一张,图片显示完跳转到首页
1.图片轮播使用Gallery,用法很简单
GalleryAdapteradapter=newGalleryAdapter(this,mIds); mGallery.setAdapter(adapter);
GalleryAdapter是自定义适配器
publicclassGalleryAdapterextendsBaseAdapter{
privateContextmContext;
privateintmImageHeight;
privateint[]mIds;
publicGalleryAdapter(Contextcontext,int[]ids){
this.mContext=context;
this.mIds=ids;
init();
}
privatevoidinit(){
mImageHeight=px2dip(mContext,getScreenHeight(MainActivity.this));
}
@Override
publicintgetCount(){
returnmIds.length;
}
@Override
publicObjectgetItem(intposition){
returnposition;
}
@Override
publiclonggetItemId(intposition){
returnposition;
}
@Override
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
finalImageViewimageView=newImageView(mContext);
if(position<mIds.length){
intimageId=mIds[position];
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);//设置图片居中
imageView.setLayoutParams(newGallery.LayoutParams(
Gallery.LayoutParams.FILL_PARENT,mImageHeight));
Bitmapbitmap=readBitMap(mContext,imageId);//用节省内存的方式加载图片,防止OOM
imageView.setImageBitmap(bitmap);
overridePendingTransition(R.anim.push_in,R.anim.push_out);//图片切换动画
}
returnimageView;
}
}
2.设置图片切换时间使用Timer定时器
Timertimer=newTimer();
timer.schedule(task,3000,3000);//每3秒切换一张图片
privateTimerTasktask=newTimerTask(){
@Override
publicvoidrun(){
Messagemessage=newMessage();
message.what=0;
index=mGallery.getSelectedItemPosition();
handler.sendMessage(message);
index++;
if(index==mIds.length-1){
this.cancel();
MainActivity.this.finish();
Intentintent=newIntent(MainActivity.this,Test.class);
startActivity(intent);
}
}
};
//不能直接在task中更新UI,所以用handler向主线程发送消息
privateHandlerhandler=newHandler(){
@Override
publicvoidhandleMessage(Messagemsg){
super.handleMessage(msg);
switch(msg.what){
case0:
mGallery.setSelection(index);
break;
default:
break;
}
}
};
3.读取本地资源图片
publicstaticBitmapreadBitMap(Contextcontext,intresId){
BitmapFactory.Optionsopt=newBitmapFactory.Options();
opt.inPreferredConfig=Bitmap.Config.RGB_565;
opt.inPurgeable=true;
opt.inInputShareable=true;
//获取资源图片
InputStreamis=context.getResources().openRawResource(resId);
returnBitmapFactory.decodeStream(is,null,opt);
}
完整实例代码代码点击此处本站下载。
希望本文所述对大家Android程序设计有所帮助。