下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第Android实现轮播图片效果本文实例为大家分享了Android实现轮播图片效果的具体代码,供大家参考,具体内容如下
首先,将这些要轮播的图片和一些文本分别放置在不同的数据集合中,程序启动的时候默认显示一组图片和文本数据,然后启动一个定时器,每隔一段时间便替换掉显示的图片和文本数据,同时加入一些动画效果,已达到轮播的特效。同时,我们也要实现手指滑动图片达到轮播的效果。
1、程序启动界面MainActivity
publicclassMainActivityextendsAppCompatActivityimplementsImageBannerFramLayout.FramLayoutLisenner{
privateImageBannerFramLayoutmGroup;
privateint[]ids=newint[]{
R.drawable.i1,//图片资源1
R.drawable.i2,//图片资源2
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//计算当前手机宽度
DisplayMetricsdisplayMetrics=newDisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
intwidth=displayMetrics.widthPixels;
mGroup=(ImageBannerFramLayout)findViewById(R.id.image_group);
mGroup.setLisenner(this);
ListBitmaplist=newArrayList();
for(inti=0;iids.length;i++){
Bitmapbitmap=BitmapFactory.decodeResource(getResources(),ids[i]);
list.add(bitmap);
mGroup.addBitmaps(list);
@Override
publicvoidchickImageIndex(intpos){
Toast.makeText(this,索引值=+pos,Toast.LENGTH_SHORT).show();
}
2、新建包view下面新建两个类
1)新建ImageBarnnerViewGroup类继承自ViewGroup
publicclassImageBarnnerViewGroupextendsViewGroup{
privateintchildren;//我们ViewGroup的子视图总个数
privateintchildwidth;//子视图的宽度
privateintchildheight;//子视图的高度
privateintx;//此时的x的值代表的是第一次按下的位置的横坐标,每一次移动过的过程中移动之前的位置横坐标
privateintindex=0;//代表名为每张图片的索引
privateScrollerscroller;
*利用一个单击变量开关进行判断,离开屏幕的一瞬间判断用户的操作是点击
privatebooleanisClick;//true的时候点击事件,false的时候不是点击事件
privateImageBarnnerListerlister;
privateImageBarnnerViewGroupLisnnerbarnnerViewGroupLisnner;
publicImageBarnnerListergetLister(){
returnlister;
publicvoidsetLister(ImageBarnnerListerlister){
this.lister=lister;
publicImageBarnnerViewGroupLisnnergetBarnnerViewGroupLisnner(){
returnbarnnerViewGroupLisnner;
publicvoidsetBarnnerViewGroupLisnner(ImageBarnnerViewGroupLisnnerbarnnerViewGroupLisnner){
this.barnnerViewGroupLisnner=barnnerViewGroupLisnner;
publicinterfaceImageBarnnerLister{
voidchickImageIndex(intpos);//pos代表的是我们当前的图片的具体索引值
*实现轮播图底部圆点切换效果
*自定义一个继承自FragmenLayou布局,利用FragmeLayout布局特性
//自动轮播
privatebooleanisAuto=true;//默认情况下开启轮播
privateTimertimer=newTimer();
privateTimerTasktimerTask;
@SuppressLint(HandlerLeak)
privateandroid.os.Handlerautohandler=newandroid.os.Handler(){
@Override
publicvoidhandleMessage(Messagemsg){
switch(msg.what){
case0://我们需要图片的自动轮播
if(++index=children){//如果是最后一张图片,从第一张开始
index=0;
scrollTo(childwidth*index,0);
barnnerViewGroupLisnner.selectImage(index);
break;
default:
privatevoidstartAuto(){
isAuto=true;
privatevoidstopAuto(){
isAuto=false;
*采用Timer,TimerTask,Handler三者结合的方式来实现自动轮播
publicImageBarnnerViewGroup(Contextcontext){
super(context);
initObj();
publicImageBarnnerViewGroup(Contextcontext,AttributeSetattrs){
super(context,attrs);
initObj();
pu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿童玩物甄选活动方案策划(3篇)
- 出仓作业应急预案(3篇)
- ppr带压力施工方案(3篇)
- 冰雪防冻防滑应急预案(3篇)
- 丙纶布施工方案报价(3篇)
- 1-1-3-1-Terphenyl-4-4-4-6-tetracarboxylic-acid-生命科学试剂-MCE
- 哈啰新媒体营销方案(3篇)
- 围墙窗口施工方案范本(3篇)
- 地铁支撑的施工方案(3篇)
- 大型室外泳池施工方案(3篇)
- 第8课《回忆鲁迅先生》课件+++2025-2026学年统编版语文八年级上册
- 2025年综合类-心理咨询师考试-心理咨询师(三级)历年真题摘选带答案(5卷100道集锦-单选题)
- 克罗恩病超声表现
- TCS-900系统组态工程师培训-系统硬件
- 利他销售培训
- 用电安全与人走断电规范
- 建筑装饰装修室内空间照明设计应用标准
- 《神经退行性疾病》课件
- 贵州省考试院2025年4月高三年级适应性考试化学试题及答案
- 2025年郑州铁路职业技术学院单招职业适应性测试题库必考题
- 水库施工便道合同
评论
0/150
提交评论