`
menjoy
  • 浏览: 417230 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Android启动界面实现

阅读更多

转载自: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"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:background="#e1e1e1">
        <wht.android.loading.LoadingView
                android:layout_gravity="center_horizontal" android:layout_height="wrap_content"
                android:id="@+id/main_imageview" android:src="@drawable/loader_frame_1"
                android:layout_marginTop="190dp" android:layout_width="wrap_content"
                ></wht.android.loading.LoadingView>

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="启动中..."
        android:layout_marginTop="10dip"
        android:textColor="#666666"
        android:layout_gravity="center_horizontal"
        android:textSize="20sp"
/>
</LinearLayout>

  

  • 大小: 11.9 KB
分享到:
评论
3 楼 wrw_ahut 2015-07-17  
你这个怎么停下来?怎么跳转activity
2 楼 wenzhixin 2012-06-23  
多谢分享~
1 楼 orange9711 2012-03-07  
学习学习

相关推荐

Global site tag (gtag.js) - Google Analytics