Android开发使用Handler实现图片轮播功能示例

本文实例讲述了Android使用Handler实现图片轮播功能。分享给大家供大家参考,具体如下:

提前定义好一个Runnable接口,然后用handler调用。

Mainactivity代码如下:

package com.example.handle_01;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
  private TextView textView;
  private Handler handler = new Handler();
  private ImageView imageView;
  private int[]images = {
      R.mipmap.image1,R.mipmap.image2
  };
  private int index;
  private MyRunnable myRunnable = new MyRunnable();
  class MyRunnable implements Runnable{
    @Override
    public void run() {
      index++;
      index = index%2;
      imageView.setImageResource(images[index]);
      handler.postDelayed(myRunnable,1000);
    }
  }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = (TextView) findViewById(R.id.textView);
    imageView = (ImageView) findViewById(R.id.imageView);
    handler.post(myRunnable);
    /*
    new Thread(){
      public void run(){
        try {
          Thread.sleep(1000);
          //post方法xiugai UI
          handler.post(new Runnable() {
            @Override
            public void run() {
              //在UI线程中执行
              textView.setText("update thread");
            }
          });
          // textView.setText("update thread");
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
      }
    }.start();
    */
  }
}

activity_main代码如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context="com.example.handle_01.MainActivity">
  <TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!" />
  <ImageView
    android:src="@mipmap/ic_launcher"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:layout_centerInParent="true" />
</RelativeLayout>

希望本文所述对大家Android程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。