XBanner支持图片无限轮播控件

来源:互联网 发布:在线直播电视软件 编辑:程序博客网 时间:2024/05/29 05:08
//在build.gradle文件中加入依赖compile 'com.xhb:xbanner:1.2.2'compile 'com.nineoldandroids:library:2.4.0'//要导入一些图片加载框架的依赖,如Glidecompile 'com.github.bumptech.glide:glide:3.7.0'compile 'jp.wasabeef:glide-transformations:1.0.6'

//网络权限
<uses-permission android:name="android.permission.INTERNET" />
//布局
<com.stx.xhb.xbanner.XBanner    android:id="@+id/banner"    android:layout_width="match_parent"    android:layout_height="200.0dip"    app:AutoPlayTime="3000"    app:pointNormal="@drawable/shape_pointer_normal"    app:pointSelect="@drawable/shape_pointer_selected"    app:pointsContainerBackground="#44AAAAAA"    app:pointsPosition="CENTER"    app:tipTextColor="#FFFFFFFF"    app:tipTextSize="16.0sp" />

<shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="oval">    <solid android:color="#ff0000"></solid>    <size        android:width="10dp"        android:height="10dp"></size>
代码:
public class MainActivity extends AppCompatActivity {    private XBanner banner;    private List<String> images = new ArrayList<>();    //private List<String> titles;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        banner = (XBanner) findViewById(R.id.banner);        // 初始化XBanner中展示的数据        images.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1490970534523&di=7d5c932f60190913244c3d1032881d13&imgtype=0&src=http%3A%2F%2Fimg2.niutuku.com%2Fdesk%2F130220%2F23%2F23-niutuku.com-246.jpg");        images.add("http://imageprocess.yitos.net/images/public/20160910/99381473502384338.jpg");        images.add("http://imageprocess.yitos.net/images/public/20160910/77991473496077677.jpg");        images.add("http://imageprocess.yitos.net/images/public/20160906/1291473163104906.jpg");              // 为XBanner绑定数据   //     banner.setData(images, titles);        banner.setData(images,null);        // XBanner适配数据        banner.setmAdapter(new XBanner.XBannerAdapter() {            @Override            public void loadBanner(XBanner banner, View view, int position) {                Glide.with(MainActivity.this).load(images.get(position)).into((ImageView) view);            }        });        // 设置XBanner的页面切换特效        banner.setPageTransformer(Transformer.Default);        // 设置XBanner页面切换的时间,即动画时长        banner.setPageChangeDuration(1000);        // XBanner中某一项的点击事件        banner.setOnItemClickListener(new XBanner.OnItemClickListener() {            @Override            public void onItemClick(XBanner banner, int position) {                Toast.makeText(MainActivity.this, "点击了第" + (position + 1) + "张图片", Toast.LENGTH_SHORT).show();            }        });    }    @Override    protected void onResume() {        super.onResume();        banner.startAutoPlay();    }    @Override    protected void onStop() {        super.onStop();        banner.stopAutoPlay();    }}

参考博客:http://www.cnblogs.com/itgungnir/p/6210891.html    Banner控件的部分属性如下表示:
属性名属性说明属性值isAutoPlay是否支持自动轮播boolean类型,默认为trueautoPlayTime图片轮播事件间隔int类型,默认5000mspointNormal指示器未选中时的状态drawable类型,不指定的话使用默认状态点pointSelect指示器选中时的状态drawable类型,不指定的话使用默认状态点pointsVisible是否显示指示器boolean类型,默认为truepointsPosition指示点位置CENTER、LEFT、RIGHT,默认CENTERpointsContainerBackground指示器条背景color类型、drawable类型、mipmap类型等pointContainerPosition指示器条位置TOP、BOTTOM,默认BOTTOMpointContainerLeftRightPadding指示点容器左右内间距dimension类型,默认10.0dippointTopBottomPadding指示点上下内间距dimension类型,默认6.0dippointLeftRightPadding指示点左右内间距dimension类型,默认3.0diptipTextColor提示文字的颜色reference类型tipTextSize提示文字的大小dimension类型,默认10.0dp

0 0