阅读更多

转载自:http://www.eoeandroid.com/thread-112229-1-1.html

启动界面的效果图: 


 
启动界面

主要的实现类LoadingView :

package wht.android.loading;import android.content.Context;import android.graphics.Canvas;import android.util.AttributeSet;import android.widget.ImageView;public class LoadingView extends ImageView implements Runnable{        private boolean isStop = false;                private int[] imageIds;        private int index = 0;        private int length = 1;                public LoadingView(Context context)        {                this(context, null);        }        public LoadingView(Context context, AttributeSet attrs)        {                super(context, attrs);        }                public void setImageIds(int[] imageId)        {                this.imageIds = imageId;                if(imageIds != null && imageIds.length > 0)                {                        length = imageIds.length;                }        }                        @Override        protected void onDetachedFromWindow()        {                // TODO Auto-generated method stub                super.onDetachedFromWindow();                isStop = true;        }        @Override        protected void onDraw(Canvas canvas)        {                // TODO Auto-generated method stub                super.onDraw(canvas);                if(imageIds != null && imageIds.length > 0)                {                        this.setImageResource(imageIds[index]);                }        }        @Override        public void run()        {                while(!isStop)                {                        index = ++index % length;                        postInvalidate();                        try                        {                                Thread.sleep(400);                        }                        catch (InterruptedException e)                        {                                e.printStackTrace();                        }                }        }                public void startAnim()        {                new Thread(this).start();        }}

  
MainActivity:

package wht.android.loading;import android.app.Activity;import android.os.Bundle;public class MainActivity extends Activity{        private LoadingView main_imageview;        @Override    public void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        main_imageview = (LoadingView)findViewById(R.id.main_imageview);        initLoadingImages();                new Thread()        {            @Override            public void run()            {                main_imageview.startAnim();            }        }.start();            }        private void initLoadingImages()    {        int[] imageIds = new int[6];        imageIds[0] = R.drawable.loader_frame_1;        imageIds[1] = R.drawable.loader_frame_2;        imageIds[2] = R.drawable.loader_frame_3;        imageIds[3] = R.drawable.loader_frame_4;        imageIds[4] = R.drawable.loader_frame_5;        imageIds[5] = R.drawable.loader_frame_6;                main_imageview.setImageIds(imageIds);    }}

 

布局文件main.xml 

<?xml version="1.0" encoding="utf-8"?>        

  

  • LoadingView.zip (78.7 KB)
  • 下载次数: 288
  • 大小: 11.9 KB
  • 查看图片附件

更多相关文章

  1. Android启动和关闭Activity
  2. Android(安卓)自动换行流式布局的RadioGroup
  3. android 图片点击一下就放大到全屏,再点一下就回到原界面
  4. 2011.07.12——— android Foreground service
  5. 6 android 滑块和进度条
  6. Android实现开机自启动及开机自启动失败原因
  7. android 调用camera相关操作
  8. DataBinding(双向绑定)
  9. Android实用代码

随机推荐

  1. android list变化时 listview notifyData
  2. 【063】◀▶ Android (I) - 控件和布局
  3. Android 在一个应用中如何启动另外一个已
  4. Android(安卓)Gems — Fragment本质之Vie
  5. Android的低级错误
  6. Android使用贝塞尔线高仿QQ聊天消息气泡
  7. android软件音量控制
  8. 如何在android画分析图(例如 柱状图、趋势
  9. Android项目导出jar包的小技巧
  10. Windows平台下如何使用Android(安卓)NDK