手记

Android BannerView 图片轮播控件,支持无限循环,android图片切换动画

BannerView

这是一个轻量简洁的自定义banner控件。欢迎大家提出意见或建议

BannerView在控件可见时自动播放,不可见时停止播放,不需要额外设置界面切换时的开始播放和暂停播放。

Gradle

   compile 'com.lany:BannerView:2.1.0'

Usage

xml layout

<com.lany.banner.BannerView
    android:id="@+id/banner_view"
    android:layout_width="match_parent"
    android:layout_height="180dp"
    app:banner_delayTime="5000"
    app:banner_indicatorGravity="center"
    app:banner_indicatorMargin="4dp"
    app:banner_indicatorSelected="@drawable/selected"
    app:banner_indicatorType="circle_indicator_title_inside"
    app:banner_indicatorUnselected="@drawable/unselected"
    app:banner_isAutoPlay="true"
    app:banner_scaleType="fitXY"
    app:banner_scrollTime="1000"
    app:banner_titleBackground="#50000000"
    app:banner_titleTextColor="#ffffff"
    app:banner_titleTextSize="12sp" />
也可以使用默认配置:
 <com.lany.banner.BannerView
     android:id="@+id/banner_view"
     android:layout_width="match_parent"
     android:layout_height="180dp"/>

code

BannerView bannerView = (BannerView) findViewById(R.id.banner_view);    
//对banner的数据源list的数据结构不做要求,BannerItem可替换成你自己的数据结构
bannerView.setAdapter(new BannerAdapter<BannerItem>(items) {
    @Override
    public void bindImage(ImageView imageView, BannerItem item) {
        //这里处理图片的数据绑定,可以使用任意一种图片加载框架
        Glide.with(MainActivity.this)
                .load(item.getPic())
                .placeholder(R.drawable.pic)
                .error(R.drawable.pic)
                .into(imageView);
    }

    @Override
    public void bindTitle(TextView titleText, BannerItem item) {
        //这里处理标题内容的绑定。如果不需要显示标题,可不做处理
        titleText.setText("" + item.getTitle());
    }

    @Override
    public void onItemClicked(int position, BannerItem item) {
        //如果需要处理banner的点击事件,这里处理
        Toast.makeText(MainActivity.this, "点击" + position, Toast.LENGTH_SHORT).show();
    }
});

attribute

Attributesformatdescribe
banner_delayTimeinteger不同界面切换时间
banner_scrollTimeinteger切换过程滑动时间
banner_isAutoPlayboolean是否自动轮播,默认true
banner_titleBackgroundcolor标题背景颜色
banner_titleTextColorcolor标题颜色
banner_titleTextSizedimension标题字体大小
banner_titleHeightdimension标题栏高度
banner_indicatorMargindimension指示器之间的间距
banner_indicatorSelectedreference选中的指示器图片
banner_indicatorUnselectedreference未选中的指示器图片
banner_scaleTypeenumbanner图片的显示方式
banner_indicatorTypeenum指示器的几种样式
banner_indicatorGravityenum指示器显示位置

原文链接:http://www.apkbus.com/blog-928212-76988.html

P


0人推荐
随时随地看视频
慕课网APP