您的位置:首页 > 其它

XBanner支持图片无限轮播控件

2017-04-01 13:22 393 查看
//在build.gradle文件中加入依赖
compile 'com.xhb:xbanner:1.2.2'
compile 'com.nineoldandroids:library:2.4.0'
//要导入一些图片加载框架的依赖,如Glide
compile '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类型,默认为true
autoPlayTime图片轮播事件间隔int类型,默认5000ms
pointNormal指示器未选中时的状态drawable类型,不指定的话使用默认状态点
pointSelect指示器选中时的状态drawable类型,不指定的话使用默认状态点
pointsVisible是否显示指示器boolean类型,默认为true
pointsPosition指示点位置CENTER、LEFT、RIGHT,默认CENTER
pointsContainerBackground指示器条背景color类型、drawable类型、mipmap类型等
pointContainerPosition指示器条位置TOP、BOTTOM,默认BOTTOM
pointContainerLeftRightPadding指示点容器左右内间距dimension类型,默认10.0dip
pointTopBottomPadding指示点上下内间距dimension类型,默认6.0dip
poin
8f66
tLeftRightPadding
指示点左右内间距dimension类型,默认3.0dip
tipTextColor提示文字的颜色reference类型
tipTextSize提示文字的大小dimension类型,默认10.0dp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐