MZBannerView使用总结
来源:互联网 发布:淘宝5元店铺红包怎么用 编辑:程序博客网 时间:2024/06/06 10:52
转载请注明出处:
http://blog.csdn.net/user11223344abc?viewmode=contents
出自【蛟-blog】
最近做项目,用了开源项目MZBannerView,是一个仿魅族的banner,感觉挺不错的,记录一下使用方式。
具体的如何引入可以去该链接看:
项目地址:https://github.com/pinguo-zhouwei/MZBannerView
需要说明下,因为需要需改这个项目的代码(做网络相册的时候普通Viewpager+photoView会出现一个系统bug)。我用这个库的时候,是使用引moudle的方式,若没有这个要求的朋友建议还是去原作者git下去使用。
(引用moudle的时候会报一个跟maven相关的错误,这是因为作者需要将代码发布到maven中央库,而我们只需要简单的使用,为了省事,所以根据提示注掉project下的gradle内的报错行即可//apply plugin: ‘com.github.dcendents.android-maven’)。
代码流程如下:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_base_demo); base_mzbanner_normal = (MZBannerView) findViewById(R.id.base_mzbanner_normal); base_mzbanner_auto_scroll = (MZBannerView) findViewById(R.id.base_mzbanner_auto_scroll); initBannerView(base_mzbanner_normal); initBannerView(base_mzbanner_auto_scroll); } private void initBannerView(MZBannerView mMZBanner) { mMZBanner.setBannerPageClickListener(new MZBannerView.BannerPageClickListener() { @Override public void onPageClick(View view, int position) { Toast.makeText(BaseLocalDemo.this,"click page:"+position,Toast.LENGTH_LONG).show(); } }); mMZBanner.setIndicatorRes(R.color.colorAccent,R.color.colorPrimary); List<Integer> list = new ArrayList<>(); for(int i=0;i<RES.length;i++){ list.add(RES[i]); } mMZBanner.setIndicatorVisible(true); mMZBanner.setPages(list, new MZHolderCreator<BannerViewHolder>() { @Override public BannerViewHolder createViewHolder() { return new BannerViewHolder(); } }); } public static class BannerViewHolder implements MZViewHolder<Integer> { private ImageView mImageView; @Override public View createView(Context context) { // 返回页面布局文件 View view = LayoutInflater.from(context).inflate(R.layout.banner_item,null); mImageView = (ImageView) view.findViewById(R.id.banner_image); return view; } @Override public void onBind(Context context, int position, Integer data) { // 数据绑定 mImageView.setImageResource(data); } }
所有代码都是基于这个最基本的代码来修改的,主要牵涉到2个比较重要的api。
setPages和Holder。
具体的可以参考我写的Demo:
链接1//这个要积分:P
链接2//这个不要下载积分
附上原作者的博客:
http://www.jianshu.com/p/653680cfe877
阅读全文
0 0
- MZBannerView使用总结
- 使用总结
- 【eXtremeComponents总结系列】使用总结
- 【eXtremeComponents总结系列】使用总结
- AFNetworking使用总结 与使用
- Notification使用总结(基本使用)
- Tiles使用心得,使用总结
- WSE使用总结
- MASM宏使用总结
- 水晶报表使用总结
- struts+hibernate使用总结
- MASM宏使用总结
- 转载 内存使用总结
- MySQL使用总结(1)
- MiddleGen的使用总结
- Libpcap使用总结
- CTime 使用总结
- VC ODBC使用总结
- Flask 学习笔记
- Ubuntu:安装时 downloading language packs
- 机器学习笔记-第三章 逻辑回归
- Redis下载与安装
- Hello_the_CSDN!
- MZBannerView使用总结
- Lucas定理
- MyBatis配置报错java.io.IOException: Could not find resource mybatis-conf.xml
- Python学习之路之二
- svn简易教程
- css笔记
- mogodb用法
- 今天多学一点知识,明天就少一句求人的话
- POJ 1821 Fence 笔记