Android 使用imageview做一个幻灯片

来源:互联网 发布:淘宝企业店保证金 编辑:程序博客网 时间:2024/05/16 08:13

这是从本地获取图片的方法,在Android4.0之后,增加了一些新特性,也增加了一些限制。其中有一个限制就是不能在主线程中访问网络,必须另开一条线程访问。但是这里又存在另外一个问题,在子线程中,无法直接操作UI控件的属性。

话不多说,直接上代码

public class NewThread6 extends Activity {    private ImageView image1;    //定义一个int数组来存放图片,在R文件中图片是以int形式存在的    int[] images = new int[] { R.drawable.ic_launcher,             R.drawable.actionbar_add_icon,             R.drawable.actionbar_icon,            R.drawable.actionbar_more_icon,            R.drawable.actionbar_search_icon, };    //定义一图片计数器    int currentImg = 0;    //定义一个handler来进行隔时间操作    private Handler handler = new Handler();//新建一个runnable对象    private Runnable myRunnable = new Runnable() {        public void run() {       //每隔1秒切换一次            handler.postDelayed(this, 1000);            if (currentImg >= 4) {                currentImg = -1;            }            // 改变ImageView里显示的图片            image1.setImageResource(images[++currentImg]);        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main2);        image1 = (ImageView) findViewById(R.id.image1);         //初始化时显示第一张图片          image1.setImageResource(images[0]);         Button btn = (Button) findViewById(R.id.btn1);        btn.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                //将请求提交给runnable                handler.post(myRunnable);            }        });    }


 

0 0
原创粉丝点击