Android Banner
MZBannerView
现在的APP Banner大多数千篇一律,前面看到魅族手机上所有魅族自家APP上的Banner效果不错,于是就想着来仿着做一个类似的效果。因此就有了这个库。但是为了使用方便,这个库不仅仅只有仿魅族效果的BannerView 来使用,还可以当作普通的BannerView 来使用,还可以当作一个ViewPager 来使用。使用很方便,具体使用方法和API 请看后面的示例。
Github 地址:https://github.com/pinguo-zhouwei/MZBannerView
MZBannerView 有以下功能:
1 . 仿魅族BannerView 效果。
2 . 当普通Banner 使用
3 . 当普通ViewPager 使用。
4 . 当普通ViewPager使用(有魅族Banner效果)
5 . 仿爱奇艺 APP Banner 效果
Dependency
allprojects {repositories {...maven { url 'https://jitpack.io' }}
}
Step 2. Add the dependency
dependencies {compile 'com.github.pinguo-zhouwei:MZBannerView:v2.0.0'
}
自定义属性
属性名 | 属性意义 | 取值 |
---|---|---|
open_mz_mode | 是否开启魅族模式 | true 为魅族Banner效果,false 则普通Banner效果 |
canLoop | 是否轮播 | true 轮播,false 则为普通ViewPager |
indicatorPaddingLeft | 设置指示器距离左侧的距离 | 单位为 dp 的值 |
indicatorPaddingRight | 设置指示器距离右侧的距离 | 单位为 dp 的值 |
indicatorAlign | 设置指示器的位置 | 有三个取值:left 左边,center 剧中显示,right 右侧显示 |
middle_page_cover | 设置中间Page是否覆盖(真正的魅族Banner效果) | true 覆盖,false 无覆盖效果 |
使用方法
1 . xml 布局文件
<com.zhouwei.mzbanner.MZBannerViewandroid:id="@+id/banner"android:layout_width="match_parent"android:layout_height="200dp"android:layout_marginTop="10dp"app:open_mz_mode="true"app:canLoop="true"app:indicatorAlign="center"app:indicatorPaddingLeft="10dp"/>
2 . activity中代码:
mMZBanner = (MZBannerView) view.findViewById(R.id.banner);// 设置数据mMZBanner.setPages(list, new MZHolderCreator<BannerViewHolder>() {@Overridepublic BannerViewHolder createViewHolder() {return new BannerViewHolder();}});public static class BannerViewHolder implements MZViewHolder<Integer> {private ImageView mImageView;@Overridepublic 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;}@Overridepublic void onBind(Context context, int position, Integer data) {// 数据绑定mImageView.setImageResource(data);}}
3 .如果是当Banner使用,注意在onResume 中调用start()方法,在onPause中调用 pause() 方法。如果当普通ViewPager使用,则不需要。
@Overridepublic void onPause() {super.onPause();mMZBanner.pause();//暂停轮播}@Overridepublic void onResume() {super.onResume();mMZBanner.start();//开始轮播}
通过open_mz_mode
、middle_page_cover
和canLoop
这3个属性来控制MZBannerView 是用作Banner还是普通ViewPager,能控制多种Banner展示效果:
1 . 魅族Banner 效果,中间Page覆盖两边。
app:open_mz_mode="true"app:canLoop="true"app:middle_page_cover="true"
2 普通banner 使用。
app:open_mz_mode="false"
app:canLoop="true"
Android Banner相关推荐
- android banner动画框架,Android Studio Banner轮播图使用
现在恰好有个项目需要做个轮播图效果,这个需求也是很常见的需求,于是就做个笔记写一下实现过程 分为加载本地图片和网络图片 加载本地图片 第一步:先在build.gradle中加入banner和glide ...
- android banner 高度,Android Banner 的简单使用步骤
Step 1: 依赖 //Banner implementation 'com.youth.banner:banner:1.4.10' implementation 'com.github.bumpt ...
- android banner加载布局,Android知识点之图片轮播控件Banner
Rate this post 在我们来发Android项目时,经常有图片或者广告的轮播功能的需求,下面将介绍一款Android开发时使用的开源图片轮播控件Banner,同时按序讲解如何使用配置这款控件 ...
- 一个很Nice的Android Banner轮播图库
Android萌新一枚,最近项目中有一个轮播图的需求,网上搜了很多资料,也看了多开源库,但不是bug多就是库不维护.后来在GitHub上找到一个很棒的轮播图–BannerViewPager库推荐个大家 ...
- android 炫酷轮播图,一个很Nice的Android Banner轮播图库
Android小白一枚,最近项目中有一个轮播图的需求,网上搜了很多资料,也看了多开源库,但不是bug多就是库不维护.后来在GitHub上找到一个很棒的轮播图–BannerViewPager库推荐个大家 ...
- Android Banner(无限轮播图)控件的简单使用(网络数据OkHttp3)
一言不合就上图 banner是第三方集成好的直接注入依赖就可以用 老套路先注入依赖: //banner这个版本才是王道(我的studio是2.3.3)compile 'com.youth.banner ...
- android banner广告接入,仅涉及技术
google 广告接入,admob 官网地址: http://developer.android.com/intl/zh-cn/google/play-services/setup.html 配置: ...
- android banner阴影,仿照锤子科技官网的banner 3d效果
以前看到锤子科技官网的banner效果挺好玩的,一直没有研究:今天看到饥人谷,使用jquery给出了一种实现方式:我自己用原生js也实现了一遍.大致原理相同,但算法不同. 我的方法原理,如图所示,假设 ...
- android banner指示器高度,Android 广告轮播 -ConvenientBanner 指示器大小、bottomMargin,leftMarfin的修改。...
在Android开发时,广告轮播我的项目是使用的ConvenientBanner 来实现的,效果也很好.但是有一个很严格的设计师,需要完全按照她的设计来实现,突然发现ConvenientBanner ...
最新文章
- 树模型集成学习(Tree Embedding)
- strstr和strcchr查找字符串和区别
- virsh 网络设置_KVM使用Network Filters进行虚拟机网络管理 | leon的博客
- 创建 SSH Keys
- 计算机python语言_计算机语言Python解释器
- 创业者如何更好地认知世界?
- Linux 命令(54)—— trap 命令(builtin)
- office2013 应用程序无法正常启动(0xc000007b)
- 关于大数据的大数据平台
- 异数OS 织梦师-Xnign(四)-- 挑战100倍速Nginx,脚踩F5硬件负载均衡
- 使用M0 DesignStart 的样例SoC(example system) - 1 SoC组件
- ASCLL UTF-8 GBK URL编码
- 《Graphene-SGX: A Practical Library OS for UnmodifiedApplications on SGX (ATC‘17)》笔记
- 5分钟搭建私人Java博客系统——Tale
- win10更新时强制关机会如何
- 西游记中人物对应PMP项目管理中的角色分析
- iTerm2终端集成git缩写意思
- 故障网络连接故障排除,第2部分:基本网络命令
- 解决打不开 xxx.github.io的万能解决方法
- 微信小程序图片转发到微信
热门文章
- 在Ubuntu 上安装和配置postfix邮箱服务器
- KODI软件的下载与简单使用(开启倍速到1.1,1.2,1.3等等或整数倍速)
- 用tkinter做一个代码编辑器(语法高亮,直接运行)
- mysql 13位时间戳转时间戳_时间戳换算(13位时间戳转换工具 在线)
- 时间戳服务器作用,时间戳服务器
- 扫雷游戏 (15 分)
- 一种利用百分比布局适配所有Android手机屏幕分辨率的方法
- 【智能制造】工信部:《国家智能制造标准体系建设指南(2018年版)》(征求意见稿)
- 团队项目-初步分工与计划安排
- C语言进阶第15式:逻辑运算符分析