项目之新闻客户端 之开机动画

来源:互联网 发布:淘宝好吃零食排行榜 编辑:程序博客网 时间:2024/05/09 02:28

Android开机动画的实现方式有很多种,这里我介绍下我自己使用的2种方法第一种就是使用定时器: 

new Handler().postDelayed(new Runnable() {@Overridepublic void run() {Intent intent = new Intent();}}, 20000);  //定时器 2s后跳转到主页面

但是实际我使用的过程中使用的多线程,使用图片的透明度来实现的: 关键代码如下

public class Splash extends Activity {private ImageView imageview;  //图片private TextView textview;    //文字private int alpha = 255;     //透明度private int b = 0;             private Handler mHandler = new Handler(){@Overridepublic void handleMessage(android.os.Message msg) {switch (msg.what) {case 1:imageview.setAlpha(msg.arg1);imageview.invalidate();break;case 2:Intent in = new Intent(Splash.this, MainActivity.class);startActivity(in);new Splash().finish();break;default:break;}};};@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_splash);imageview = (ImageView) this.findViewById(R.id.ImageView01);textview = (TextView) this.findViewById(R.id.TextView01);imageview.setAlpha(alpha);new Thread(new Runnable() {@Overridepublic void run() {while (alpha>0) {try {Thread.sleep(100);alpha -= 5;Message msg = mHandler.obtainMessage();msg.arg1=alpha;msg.what=1;mHandler.sendMessage(msg);} catch (InterruptedException e) {e.printStackTrace();}}Message msg = mHandler.obtainMessage();msg.arg1=0;msg.what=2;mHandler.sendMessage(msg);}}).start();/*new Handler().postDelayed(new Runnable() {@Overridepublic void run() {Intent intent = new Intent();}}, 20000);  //定时器 2s后跳转到主页面*/}}
页面就一个图片和一行文字没有什么实质性的东西所以不再添加,另外一种方式还可以使用Android的动画效果来实现动画的效果,可以参考我的Android之动画实现技术

0 0
原创粉丝点击