imageview做一个幻灯片效果
这是从本地获取图片的方法,在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); } }); }
网络版之后再补充