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程序设计有所帮助。