全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android线程实现图片轮播

一、实现效果

本篇文章实现了简单的图片轮播,初始化3张资源图片,初始化3秒更换一次图片背景,轮换播放。

二、知识点

Thread线程start() 、sleep();handler机制;Android 控件imageView、setBackgroundResource(id);

还算是较为简单的,涉及的基本都是基础知识。

三、基本思路

  1.初始化资源文件

  2.创建一个实例化线程对象 new Thread()

  3.handler 机制,sendMessage(msg); 来处理线程信息,以改变当前显示资源图片为下一张

  4.线程设置睡眠时间,来设置图片轮播的时间间隔,

  5.每隔一段时间通过 handler 机制发送一次信息来实现图片资源变换来实现轮播

-->>代码实现:

  (1) layout 布局:就一个ImageView 控件

k1.jpg ,k2.jpg, k3,jpg 是三张图片

(2)  java 代码实现对背景图片的轮播变换操作:

package com.example.ususaltest; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.os.Handler; 
import android.os.Message; 
import android.widget.ImageView; 
 
public class MainActivity extends Activity { 
 
  int i = 1;//变量 
  private ImageView imageView; 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
 
    initView();//加载控件 
    initEvent();//控件操作 
     
  } 
   
  private void initView() { 
    imageView = (ImageView) findViewById(R.id.id_image); 
  } 
   
  private void initEvent(){ 
     
     
    final Handler handler = new Handler(){ 
      @Override 
      public void handleMessage(Message msg) {//接收消息,并处理 
        super.handleMessage(msg); 
        if (msg.what == 1)  
          imageView.setBackgroundResource(R.drawable.k1);//设置变换后的图片资源 
        else if (msg.what == 2)  
          imageView.setBackgroundResource(R.drawable.k2); 
        else if (msg.what == 3)  
          imageView.setBackgroundResource(R.drawable.k3); 
        else  
          imageView.setBackgroundResource(R.drawable.k1); 
      } 
    }; 
     
    new Thread(new Runnable() { 
      @Override 
      public void run() { 
        while (true) { 
          try { 
          Thread.sleep(3000);//暂停 3 秒 
        } catch (InterruptedException e) {e.printStackTrace();} 
        Message message = new Message(); 
        message.what = i; 
        handler.sendMessage(message);//发送消息 
         
        if(i == 3)//3张图片播放完,重置 
          i = 0; 
         
        i++; 
        } 
      } 
    }).start(); 
  } 
 
} 

(3) 到此已实现图片轮播效果,但可观赏度不高,可以适当的加一些动画什么的,使图片转换时更加有动感,动态的变换,看得到变换的过程,而不是单纯的静态的变换。

四、拓展延伸 -- 动画

加上缩放动画,使图片轮换时能看到更换过程,动态化轮播功能

new Thread(new Runnable() { 
      @Override 
      public void run() { 
        while (true) { 
          try { 
          Thread.sleep(3000); 
        } catch (InterruptedException e) {e.printStackTrace();} 
        Message message = new Message(); 
        message.what = i; 
        handler.sendMessage(message);//发送消息 
        //加上缩放动画 
        <span style="background-color: rgb(51, 255, 255);">AnimationSet set = new AnimationSet(true); 
        ScaleAnimation scale = new ScaleAnimation(1.5f, 1.0f, 1.5f, 1.0f ,Animation.RELATIVE_TO_SELF, 0.5f ,Animation.RELATIVE_TO_SELF, 0.5f); 
        scale.setDuration(500); 
        set.addAnimation(scale); 
        imageView.setAnimation(set);</span> 
         
        if(i == 3)//3张图片播放完,重置 
          i = 0; 
         
        i++; 
        } 
      } 
    }).start(); 

这样效果上会好一点,也可以加位移动画,使换图片时,让图片从右边进来,或左边进来右边出去之类的动画。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Android  # 图片轮播  # Android实现图片轮播效果的两种方法  # Android实现图片轮播效果  # Android自动播放Banner图片轮播效果  # Android实现广告图片轮播效果  # Android ViewPager实现图片轮播效果  # Android实现图片轮播切换实例代码  # Android自定义图片轮播Banner控件使用解析  # Android高级图片滚动控件实现3D版图片轮播器  # Android客户端实现图片轮播控件  # Android实现背景图片轮播  # 来实现  # 都是  # 发送消息  # 看得  # 不高  # 到此  # 每隔  # 创建一个  # 会好  # 大家多多  # 三张  # 下一张  # 而不是  # 睡眠时间  # 实现了  # 加载  # 能看到 


相关文章: 网页设计与网站制作内容,怎样注册网站?  如何在云指建站中生成FTP站点?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  javascript中对象的定义、使用以及对象和原型链操作小结  广州美橙建站如何快速搭建多端合一网站?  代刷网站制作软件,别人代刷火车票靠谱吗?  html制作网站的步骤有哪些,iapp如何添加网页?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  家庭建站与云服务器建站,如何选择更优?  小型网站建站如何选择虚拟主机?  如何有效防御Web建站篡改攻击?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  网站制作的步骤包括,正确网址格式怎么写?  行程制作网站有哪些,第三方机票电子行程单怎么开?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  如何快速搭建高效服务器建站系统?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  建站之星会员如何解锁更多建站功能?  如何在云主机上快速搭建网站?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  如何选择域名并搭建高效网站?  网站制作新手教程,新手建设一个网站需要注意些什么?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  建站之星上传入口如何快速找到?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  C#如何在一个XML文件中查找并替换文本内容  手机网站制作与建设方案,手机网站如何建设?  ,购物网站怎么盈利呢?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  h5网站制作工具有哪些,h5页面制作工具有哪些?  如何在局域网内绑定自建网站域名?  网站制作公司排行榜,四大门户网站排名?  ,网站推广常用方法?  PHP正则匹配日期和时间(时间戳转换)的实例代码  如何配置FTP站点权限与安全设置?  网站图片在线制作软件,怎么在图片上做链接?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  C#怎么使用委托和事件 C# delegate与event编程方法  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  如何快速登录WAP自助建站平台?  如何用PHP快速搭建高效网站?分步指南  如何在IIS中新建站点并配置端口与物理路径?  建站之星下载版如何获取与安装?  如何用IIS7快速搭建并优化网站站点?  如何撰写建站申请书?关键要点有哪些?  ,想在网上投简历,哪几个网站比较好?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。