在介绍具体的使用说明之前,我们先看一下简单的实现效果:

使用说明

  • 显示一个默认广告弹窗,支持单广告活动、多广告活动,当弹窗显示多广告是默认显示底部小圆圈,当显示单活动时默认不显示底部小圆圈;

  • 默认支持弹窗从上,下,左,右,左上,右上,左下,右下等八个方向弹出,更可以设置从任意指定的角度(0-360)弹出;

  • 默认继承了弹性动画效果,可以设定弹性动画弹性参数,动画速度等;

  • 支持对弹窗背景透明色的更改,支持对弹窗透明,支持设置弹窗背景全屏显示或者是只在内容区域显示;

  • 支持设定弹窗宽高比,支持设置弹窗距离屏幕两侧距离,支持设置关闭按钮是否显示;

  • 支持对关闭按钮点击事件的回调,对每一项广告活动点击事件的回调等;

  • 支持对ViewPager滑动动画效果的设定,支持自定义ViewPager滑动动画效果;

API说明:

所有的设置参数均返回AdManager对象,所以可以直接链式调用。

AdManager adManager = new AdManager(MainActivity.this, advList);
aDMamager.
/*** 设置弹窗背景全屏显示还是在内容区域显示*/
.setOverScreen(true)
/*** 设置ViewPager的滑动动画*/
.setPageTransformer(new DepthPageTransformer())
/*** 设置弹窗距离屏幕两侧的距离(单位dp)*/
.setPadding(100)
/*** 设置弹窗的宽高比*/
.setWidthPerHeight(0.75f)
/*** 设置弹窗的背景色(当弹窗背景设置透明时,此设置失效)*/
.setBackViewColor(Color.parseColor("#AA333333"))
/*** 设置弹窗背景是否透明*/
.setAnimBackViewTransparent(true)
/*** 设置弹窗关闭图标是否可见*/
.setDialogCloseable(false)
/*** 设置弹窗弹性滑动弹性值*/
.setBounciness(15)
/*** 设置弹窗弹性滑动速度值*/
.setSpeed(5)
/*** 设定弹窗点击事件回调*/
.setOnImageClickListener(new AdManager.OnImageClickListener() {})
/*** 设定关闭按钮点击事件回调*/
.setOnCliseClickListener(new OnClickListener() {})
/*** 开始执行弹窗的显示操作,可传值为0-360,0表示从右开始弹出,逆时针方向,也可以传入自定义的方向值*/
.showAdDialog(AdConstant.ANIM_UP_TO_DOWN)

使用方式:

  • 在module的build.gradle中执行compile操作
compile 'cn.yipianfengye.android:ad-library:1.0'
  • 在代码中初始化数据
/*** 初始化数据*/private void initData() {advList = new ArrayList<>();AdInfo adInfo = new AdInfo();adInfo.setActivityImg("https://raw.githubusercontent.com/yipianfengye/android-adDialog/master/images/testImage1.png");advList.add(adInfo);adInfo = new AdInfo();adInfo.setActivityImg("https://raw.githubusercontent.com/yipianfengye/android-adDialog/master/images/testImage2.png");advList.add(adInfo);}

这里只要是初始化图片的UI地址信息,方便我们的后续下载操作。

  • 执行弹窗的初始化与现实操作
/*** 创建广告活动管理对象*/
AdManager adManager = new AdManager(MainActivity.this, advList);
adManager.setOverScreen(true).setPageTransformer(new DepthPageTransformer());
/*** 执行弹窗的显示操作*/
adManager.showAdDialog(AdConstant.ANIM_DOWN_TO_UP);

怎么样是不是很简单?下面我们可以来看一下具体API。

具体的API说明:

  • (1)自定义的弹窗弹出方向API

在执行AdManager的showAdDialog方法时,需要传递一个int型的animType参数,我们默认定义了八个该类型的参数,默认如下:

// ####################### 弹出动画效果 ###########################/*** 广告活动弹窗动画-从上至下*/public static final int ANIM_UP_TO_DOWN = -11;/*** 广告活动弹窗动画-从下至上*/public static final int ANIM_DOWN_TO_UP = -12;/*** 广告活动弹窗动画-从左至右*/public static final int ANIM_LEFT_TO_RIGHT = -13;/*** 广告活动弹窗动画-从右至左*/public static final int ANIM_RIGHT_TO_LEFT = -14;/*** 广告活动弹窗动画-从左上弹出*/public static final int ANIM_UPLEFT_TO_CENTER = -15;/*** 广告活动弹窗动画-从右上弹出*/public static final int ANIM_UPRIGHT_TO_CENTER = -16;/*** 广告活动弹窗动画-从左下弹出*/public static final int ANIM_DOWNLEFT_TO_CENTER = -17;/*** 广告活动弹窗动画-从右下弹出*/public static final int ANIM_DOWNRIGHT_TO_CENTER = -18;

好吧,如果你觉得还不够好,我想让弹窗从右上侧30度角的弹出可以么?这也是支持的,只需要你传递的int型的animType的时候传递30就好了,如下:

/*** 执行弹窗的显示操作(参数的范围:0-360,0表示从右侧弹出,逆时针旋转)*/
adManager.showAdDialog(30);

那么我们看一下执行效果呢:

  • (2)自定义弹窗距离屏幕两侧的距离以及弹窗的宽高比:
/*** 自定义设置广告活动弹窗距离屏幕两侧距离以及宽高比*/button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {AdManager adManager = new AdManager(MainActivity.this, advList);adManager.setOnImageClickListener(new AdManager.OnImageClickListener() {@Overridepublic void onImageClick(View view, AdInfo advInfo) {Toast.makeText(MainActivity.this, "您点击了ViewPagerItem...", Toast.LENGTH_SHORT).show();}}).setPadding(100).setWidthPerHeight(0.5f).showAdDialog(AdConstant.ANIM_UP_TO_DOWN);}});

然后我们看一下执行效果:

怎么样?是不是发现弹窗的宽高比和距离屏幕两侧的距离发生了变化?

  • (3)自定义背景颜色,自定义弹窗是否覆盖全屏,关闭按钮是否显示
/*** 自定义弹窗背景颜色,弹窗是否覆盖全屏,关闭按钮是否显示等*/button3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {AdManager adManager = new AdManager(MainActivity.this, advList);adManager.setOnImageClickListener(new AdManager.OnImageClickListener() {@Overridepublic void onImageClick(View view, AdInfo advInfo) {Toast.makeText(MainActivity.this, "您点击了ViewPagerItem...", Toast.LENGTH_SHORT).show();}}).setBackViewColor(Color.parseColor("#AA333333")).setDialogCloseable(false).showAdDialog(AdConstant.ANIM_UP_TO_DOWN);}});

然后我们来看一下具体的实现效果:

可以看到我们更改了弹窗的背景颜色以及未显示关闭按钮

  • (4)自定义设置弹性动画弹性参数和速度参数
/*** 自定义设定弹窗弹性参数和速度参数*/button4.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {AdManager adManager = new AdManager(MainActivity.this, advList);adManager.setOnImageClickListener(new AdManager.OnImageClickListener() {@Overridepublic void onImageClick(View view, AdInfo advInfo) {Toast.makeText(MainActivity.this, "您点击了ViewPagerItem...", Toast.LENGTH_SHORT).show();}}).setBounciness(20).setSpeed(4).showAdDialog(AdConstant.ANIM_UP_TO_DOWN);}});

然后我们看一下动画效果: 

为了明显的展示出动画效果,我们设置的弹性参数和速度参数比较大,是不是比较出来了这两个参数的作用?

  • (5)自定义设置弹窗ViewPager滑动动画:
/*** 自定义设置弹窗ViewPager滑动动画*/button5.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {AdManager adManager = new AdManager(MainActivity.this, advList);adManager.setOnImageClickListener(new AdManager.OnImageClickListener() {@Overridepublic void onImageClick(View view, AdInfo advInfo) {Toast.makeText(MainActivity.this, "您点击了ViewPagerItem...", Toast.LENGTH_SHORT).show();}}).setPageTransformer(new RotateDownPageTransformer()).showAdDialog(AdConstant.ANIM_UP_TO_DOWN);}});

然后我们看一下弹窗的滑动动画:

这里我内置了三种ViewPager的滑动动画效果:

DepthPageTransformer;
RotateDownPageTransformer;
ZoomOutPageTransformer;

我们还可以自定义实现:PageTransformer自定义出自己的滑动动画效果,更多关于PageTransformer的知识,可参考鸿洋大神的: Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下)

  • (6)自定义关闭按钮点击事件回调,ViewPagerItem点击事件回调
/*** 自定义设置弹窗ViewPagerItem点击事件,关闭按钮点击事件回调*/button6.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {AdManager adManager = new AdManager(MainActivity.this, advList);adManager.setOnImageClickListener(new AdManager.OnImageClickListener() {@Overridepublic void onImageClick(View view, AdInfo advInfo) {Toast.makeText(MainActivity.this, "您点击了ViewPagerItem...", Toast.LENGTH_SHORT).show();}}).setOnCloseClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "您点击了关闭按钮...", Toast.LENGTH_SHORT).show();}}).showAdDialog(AdConstant.ANIM_UP_TO_DOWN);}});

好吧,以上就是广告活动弹窗的API,除了以上还可以添加其他的一些API,欢迎提出。

Android 泽宇App广告栏相关推荐

  1. Android 泽宇三种底部导航栏

    compile 'com.flyco.tablayout:FlycoTabLayout_Lib:2.0.8@aar'//底部导航 <com.flyco.tablayout.CommonTabLa ...

  2. Android 泽宇二级列表

    在开发 Android APP 的时候,难免会需要实现二级列表的情况,而在自己的项目中使用的列表是ExpandableListView 如若转发标明转载处:https://mp.csdn.net/po ...

  3. Android 泽宇Glide和Picasso框架之间的区别与应用

    Glide和Picasso是目前Android开发中很流行的图片加载库,Glide库和Picasso库也有极大的相似性,这篇文章就通过对比的方式描述一下这个两个功能强大的优秀库的使用. 一.简介: 1 ...

  4. Android 泽宇节操视频

    今天我要介绍的是节操视频,此框架的小编个人感觉还是很好用的,轻轻松松的几行代码就搞定了 1.所用依赖:implementation 'fm.jiecao:jiecaovideoplayer:5.5' ...

  5. Android 泽宇_EventBus的使用

    1.EventBus 简介 EventBus是一种用于Android的事件发布-订阅总线,由GreenRobot开发,Gihub地址是:EventBus.它简化了应用程序内各个组件之间进行通信的复杂度 ...

  6. Android 泽宇管理Fragment的方法

    public Fragment addFragment(int id, Class<Fragment> fragmentClass, Map<String,String> ma ...

  7. Android 泽宇GC垃圾回收机制算法

    GC是什么? GC的英文全称是:Gabage Collection,翻译成中文就是垃圾回收的意思.在一个对象不再被程序引用时,它所占用的堆空间就可以回收,以便于分配给新的对象使用. 那我们在了解回收机 ...

  8. Android 泽宇多布局

    现在的速度跟新的速度越来越快,手机的开发,变更也日夜加快普通的已经不能满足我们的需求了,我们看下面一张图 多布局 这张图就是一个简简单单的多布局,然而我们要是用普通的的视频去实现要写的代码量很多看着也 ...

  9. Android 泽宇Retrofit+Rxjava

    今天就写一个简单的Retrofit+Rxjava的联合运用的代码 这是一个请求的接口返回给观察者 Observable是被观察者,Observe是观察者 @FormUrlEncoded @POST(& ...

最新文章

  1. java -cp 和 java -jar 的区别
  2. P3327 约数的个数和 [约数函数性质,数论分块]
  3. 用例子来区分4种文法
  4. 快速实现MySQL迁移到Redis
  5. java怎样实现重载一个方法
  6. 全局流控介绍和实现思路
  7. Swift字符串多行的写法
  8. docker php示例,Docker 编程语言之 PHP
  9. 手机APP测试如何进行兼容性测试?
  10. 万年历c语言程序微博,简易的万年历程序C语言
  11. 网页游戏打击感实施要点
  12. 人工智能能否在翻译中胜过人类?
  13. cisco 三层交换机与二层交换机级联 vlan trunk
  14. CentOS8 配置记录
  15. centos7搭建开源ERP-PSI
  16. Perfect Tree(图论)
  17. trc20和erc20、OMNI有什么区别
  18. 字节三面:对于 Spring 你了解多少?如果你会了这 150 道题 ,吊打面试官岂不是洒洒水
  19. 多层嵌套break跳出指定循环
  20. QIIME 2 2020.11发布啦

热门文章

  1. ## modelsim与quartus 2 联合仿真,出现Error loading design
  2. 理想智慧社区建设的总体框架
  3. M1安装SketchUp Pro 2021 for Mac(草图大师2021)中文版 支持Big Sur 已解决闪退问题
  4. 逗女朋友玩的C语言程序,怎么哄异地女朋友睡觉 男生赶快学起来
  5. Windows7 x64 了解堆
  6. (全网最细)顺序栈详解 +实例解析
  7. 在计算机窗口中什么中的文件不能被删除,在Windows操作系统中,“回收站”可以恢复(1)上使用键删除的文件或文件夹。在“我的电脑”窗口中,...
  8. Burp Suite Professional 2023.1 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
  9. Lattice CrossLinkNx LIFCL-40应用连载4-RISC-V处理器访问I2CFIFO
  10. mathtype输入空格