android自动循环轮播图,Android实现基于ViewPager的无限循环自动播放带指示器的轮播图CarouselFigureView控件...

Android实现基于ViewPager的无限循环自动播放带指示器的轮播图CarouselFigureView控件

发布时间:2020-08-23 01:55:16

来源:脚本之家

阅读:202

作者:liujinhua1992

最近用到需要无限轮播自动播放的轮播轮播图,网上感觉都有这样那样的问题,于是自己写了一个通用的控件CarouselFigureView。

特点:

1.可以轮播view可以自己定义,不一定是要是ImageView2.指示器默认显示,但是可以隐藏3.可以设置指示器的颜色、间距、大小 4.有基础的可以自己修改代码改变指示器位置,这个应该不难5.可以自己开启和关闭自动轮播,开启轮播的时候可以设置轮播时间间隔,默认3000毫秒

我们先来看看效果图:

5270b7d402cda9d9c0c32838671aa070.gif

然后来看看使用代码

xml代码

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:fitsSystemWindows="true"

tools:context="com.winston.base.myviewpager.MainActivity">

android:id="@+id/carouselFigureView"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

activity代码

package com.winston.base.myviewpager;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.widget.ImageView;

import com.nostra13.universalimageloader.core.ImageLoader;

import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

import com.winston.base.myviewpager.carousefigure.CarouseFigureBaseAdapter;

import com.winston.base.myviewpager.carousefigure.CarouselFigureView;

import java.util.ArrayList;

import java.util.List;

public class MainActivity extends AppCompatActivity {

private List urls = new ArrayList<>();

private CarouselFigureView carouselFigureView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(this));

urls.add("http://h.hiphotos.baidu.com/image/h%3D300/sign=c9dd5806ab6eddc439e7b2fb09dab6a2/377adab44aed2e734cfdf0cf8101a18b87d6fa39.jpg");

urls.add("http://e.hiphotos.baidu.com/image/h%3D300/sign=7aac96eab0003af352bada60052bc619/b58f8c5494eef01f76566e26e6fe9925bd317d96.jpg");

urls.add("http://b.hiphotos.baidu.com/image/h%3D300/sign=c5d06d0ea5cc7cd9e52d32d909002104/32fa828ba61ea8d3946002e7910a304e241f5896.jpg");

urls.add("http://f.hiphotos.baidu.com/image/h%3D360/sign=76a2918f0bb30f242a9aea05f894d192/a8014c086e061d9507500dd67ff40ad163d9cacd.jpg");

setContentView(R.layout.activity_main);

carouselFigureView = (CarouselFigureView)findViewById(R.id.carouselFigureView);

carouselFigureView.setAdapter(new CarouseFigureBaseAdapter(){

  //这里返回要轮播的view的数量

@Override

public int getSize() {

return urls.size();

}

//这里是关键,根据position返回对应的view(就是对于的轮播图)

@Override

public View getView(int position) {

ImageView view = new ImageView(MainActivity.this);

ImageLoader.getInstance().displayImage(urls.get(position),view);

return view;

}

});

//设置指示点的大小,默认8 单位dp

carouselFigureView.setPointSize(16);

//设置指示点的颜色,默认选中红色 ,其他灰色

// carouselFigureView.setPointColor(Color.BLUE,Color.BLACK);

//设置指示点离底部具距离,默认40 单位dp

// carouselFigureView.setIndicatorMarginBottom(260);

//设置指示点间距,默认20 单位dp

carouselFigureView.setPointSpacing(40);

//设置是否显示指示器,默认显示

// carouselFigureView.isShowIndicator(false);

}

@Override

protected void onResume() {

super.onResume();

//开始轮播

carouselFigureView.start();

}

@Override

protected void onPause() {

super.onPause();

//停止轮播

carouselFigureView.stop();

}

}

以上所述是小编给大家介绍的Android实现基于ViewPager的无限循环自动播放带指示器的轮播图CarouselFigureView控件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对亿速云网站的支持!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值