返回
顶部

修改密码

android启动界面 android软件开发教程

+1

-1

收藏

+1

-1

点赞0

评论0

启动界面的效果图:实现的原理:在一个线程中让几幅图片进行循环显示,实现了动画的效果。主要的实现类LoadingView是自定义控件,继承了ImageView,实现了Runnable接口 :package wht.android.loading;import android.content.Context;import android.graphics.Canvas;impor…

启动界面的效果图:\

实现的原理:在一个线程中让几幅图片进行循环显示,实现了动画的效果。
主要的实现类LoadingView是自定义控件,继承了ImageView,实现了Runnable接口 :

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:当中的LoadingView 就是我们自定义的控件,在布局中使用时跟其他控件一样。

package wht.android.loading;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {
	private LoadingView main_imageview;
	@Override
	protected 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);
	}
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

布局文件main.xml 当中使用的wht.android.loading.LoadingView就是前面定义的控件,完整的包名加上类名。

.android.loading.LoadingView>

        

下载地址:http://download.csdn.net/detail/l1976135784/7281483

扫一扫在手机打开

评论
已有0条评论
0/150
提交
热门评论
相关推荐
android启动界面 android软件开发教程
  • Splash/启动界面
  • 2022-05-20 18:29
  • 0 0 0
+1
Android Splash界面支持用户点击 直接进入主界面
  • Splash/启动界面
  • 2022-05-20 18:29
  • 0 0 0
+1
在Android中创建启动界面
  • Splash/启动界面
  • 2022-05-20 18:29
  • 0 0 0
+1
Android启动界面的实现
  • Splash/启动界面
  • 2022-05-20 18:29
  • 0 0 0
+1
今日要闻
换一批
热点排行