一、实现效果

本篇文章实现了简单的图片轮播,初始化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小时内与您取得联系。