dialog广告弹窗可滑动
2018-01-16 15:30
204 查看
Toggle navigationcodeKK源码解析
开源项目
职位内推
文章
友链
今日推荐
在线工具文本空格格式化
MD5
URL 按序排列
Unicode
关于
用 GitHub 登陆
>>> 滴滴出行年底大量 Android 岗位招聘,20k-55k,16-22 薪,期权、全家商保等 <<<小技巧 1:可通过键盘方向键或字母键 awsd、nl 快速查看前后项目哦
简介:广告活动弹窗控件 更多:作者 提 Bug 标签:自定义控件-广告弹窗-更新日志
compile 1.0 2016/08/08 完成广告活动弹窗 1.0 版本
compile 1.0 2016/08/08 删除 demo 中约束引用(否则 AS2.2 以下编译有问题)
在介绍具体的使用说明之前,我们先看一下简单的实现效果:
使用说明
显示一个默认广告弹窗,支持单广告活动、多广告活动,当弹窗显示多广告是默认显示底部小圆圈,当显示单活动时默认不显示底部小圆圈;
默认支持弹窗从上,下,左,右,左上,右上,左下,右下等八个方向弹出,更可以设置从任意指定的角度(0-360)弹出;
默认继承了弹性动画效果,可以设定弹性动画弹性参数,动画速度等;
支持对弹窗背景透明色的更改,支持对弹窗透明,支持设置弹窗背景全屏显示或者是只在内容区域显示;
支持设定弹窗宽高比,支持设置弹窗距离屏幕两侧距离,支持设置关闭按钮是否显示;
支持对关闭按钮点击事件的回调,对每一项广告活动点击事件的回调等;
支持对 ViewPager 滑动动画效果的设定,支持自定义 ViewPager 滑动动画效果;
API 说明:
所有的设置参数均返回 AdManager 对象,所以可以直接链式调用。
在 module 的 build.gradle 中执行 compile 操作
在代码中初始化数据
执行弹窗的初始化与现实操作
具体的 API 说明:
(1)自定义的弹窗弹出方向 API
在执行 AdManager 的 showAdDialog 方法时,需要传递一个 int 型的 animType 参数,我们默认定义了八个该类型的参数,默认如下:
(2)自定义弹窗距离屏幕两侧的距离以及弹窗的宽高比:
怎么样?是不是发现弹窗的宽高比和距离屏幕两侧的距离发生了变化?
(3)自定义背景颜色,自定义弹窗是否覆盖全屏,关闭按钮是否显示
可以看到我们更改了弹窗的背景颜色以及未显示关闭按钮
(4)自定义设置弹性动画弹性参数和速度参数
为了明显的展示出动画效果,我们设置的弹性参数和速度参数比较大,是不是比较出来了这两个参数的作用?
(5)自定义设置弹窗 ViewPager 滑动动画:
这里我内置了三种 ViewPager 的滑动动画效果:
(6)自定义关闭按钮点击事件回调,ViewPagerItem 点击事件回调
以上就是这个控件的相关内容,欢迎 star 和 follow,也可参考我的 blog:Github 项目解析(十一)–>一个简单强大的自定义广告活动弹窗
loading随手点击下面广告,支持我维护本站吧(adsbygoogle = window.adsbygoogle || []).push({});
求贤若渴:最新 11 月份职位:我们团队(滴滴杭州) Android 招人啦,年前最后一次
2017 Android 阿里、滴滴(均年薪 40w+,另加股票期权)
阿里、蚂蚁各事业部内推,年薪 32w-70w、股票期权、六险一金
滴滴北京、上海内推, 年薪 40w-80w、期权、六险一金
收藏文章
登录
我的社区
有事没事说两句…
[/i]
[/i]
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后…
取消上传
评论内容为空!
最新评论
该评论已关闭!
(function(){
var appid = 'cyt1Opx1y';
var conf = 'prod_25a44a4fd22541d61949aa1e5dc77030';
var width = window.innerWidth || document.documentElement.clientWidth;
if (width < 960) {
(adsbygoogle = window.adsbygoogle || []).push({});
源码解析文章Dagger PhotoView NineOldAnimations 公共技术点之依赖注入 SlidingMenu BaseAdapterHelper 公共技术点之 View 绘制流程 EventBus xUtils discreteSeekBar Volley Side Menu.Android CircularFloatingActionMenu PagerSlidingTabStrip CalendarListView 公共技术点之 Java 注解 Annotation 公共技术点之 Java 反射 Reflection ViewPagerIndicator DynamicLoadApk Android-Universal-Image-Loader android-Ultra-Pull-To-Refresh Jave Proxy android-lockpattern cling HoloGraphLibrary 公共技术点之 Android 动画基础 公共技术点之 View 事件传递 Android 开发经验分享
阿里 Android 内推淘宝、闲鱼、钉钉 Android,20k-45k,16 薪天猫、口碑、高德 Android,20k-45k,16 薪蚂蚁、去啊、菜鸟 Android,20k-45k,16 薪站外文章 Android 开发调试利器 1.4.0 版80% 以上简历都是不合格的推荐两个技术简历模板Android 最新 Support V4 包大拆分有用吗?他们都没告诉你适配 Android N 需要注意什么移动端网络优化阿里、滴滴 Android 内推喜大普奔,我们团队招人了闲鱼、钉钉、淘宝 Android,20k-45k,16 薪滴滴 Android,20k-40k,16 薪、期权、六险一金去啊、菜鸟、蚂蚁 Android,20k-45k,16 薪 © 2018 Powered by Trinea 关于
浙公网安备 33010602005708号(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-59203246-1', 'auto');
<iframe id="google_osd_static_frame_5342254885909"></iframe>
开源项目
职位内推
文章
友链
今日推荐
在线工具文本空格格式化
MD5
URL 按序排列
Unicode
关于
用 GitHub 登陆
>>> 滴滴出行年底大量 Android 岗位招聘,20k-55k,16-22 薪,期权、全家商保等 <<<小技巧 1:可通过键盘方向键或字母键 awsd、nl 快速查看前后项目哦
android-adDialog
项目地址:yipianfengye/android-adDialog简介:广告活动弹窗控件 更多:作者 提 Bug 标签:自定义控件-广告弹窗-更新日志
compile 1.0 2016/08/08 完成广告活动弹窗 1.0 版本
compile 1.0 2016/08/08 删除 demo 中约束引用(否则 AS2.2 以下编译有问题)
在介绍具体的使用说明之前,我们先看一下简单的实现效果:
使用说明
显示一个默认广告弹窗,支持单广告活动、多广告活动,当弹窗显示多广告是默认显示底部小圆圈,当显示单活动时默认不显示底部小圆圈;
默认支持弹窗从上,下,左,右,左上,右上,左下,右下等八个方向弹出,更可以设置从任意指定的角度(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() { @Override public void onClick(View v) { AdManager adManager = new AdManager(MainActivity.this, advList); adManager.setOnImageClickListener(new AdManager.OnImageClickListener() { @Override public 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() { @Override public void onClick(View v) { AdManager adManager = new AdManager(MainActivity.this, advList); adManager.setOnImageClickListener(new AdManager.OnImageClickListener() { @Override public 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() { @Override public void onClick(View v) { AdManager adManager = new AdManager(MainActivity.this, advList); adManager.setOnImageClickListener(new AdManager.OnImageClickListener() { @Override public 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() { @Override public void onClick(View v) { AdManager adManager = new AdManager(MainActivity.this, advList); adManager.setOnImageClickListener(new AdManager.OnImageClickListener() { @Override public 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() { @Override public void onClick(View v) { AdManager adManager = new AdManager(MainActivity.this, advList); adManager.setOnImageClickListener(new AdManager.OnImageClickListener() { @Override public void onImageClick(View view, AdInfo advInfo) { Toast.makeText(MainActivity.this, "您点击了 ViewPagerItem...", Toast.LENGTH_SHORT).show(); } }) .setOnCloseClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "您点击了关闭按钮...", Toast.LENGTH_SHORT).show(); } }) .showAdDialog(AdConstant.ANIM_UP_TO_DOWN); } });好吧,以上就是广告活动弹窗的 API,除了以上还可以添加其他的一些 API,欢迎提出。
以上就是这个控件的相关内容,欢迎 star 和 follow,也可参考我的 blog:Github 项目解析(十一)–>一个简单强大的自定义广告活动弹窗
loading随手点击下面广告,支持我维护本站吧(adsbygoogle = window.adsbygoogle || []).push({});
求贤若渴:最新 11 月份职位:我们团队(滴滴杭州) Android 招人啦,年前最后一次
2017 Android 阿里、滴滴(均年薪 40w+,另加股票期权)
阿里、蚂蚁各事业部内推,年薪 32w-70w、股票期权、六险一金
滴滴北京、上海内推, 年薪 40w-80w、期权、六险一金
收藏文章
登录
我的社区
有事没事说两句…
[/i]
[/i]
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后…
取消上传
评论内容为空!
<!-- 放置cbox发布状态 --> <!-- 提示条 --> <!-- 零评论提示条 --> <div class="list-comment-empty-w"> <div node-type="empty-prompt" class="empty-prompt-w"> <span class="prompt-null-w">还没有评论,快来抢沙发吧!</span> </div> </div> <!-- 提示连接到快站社区 --> <!-- <div class="list-comment-kuaizhan-w"> <div node-type="kuaizhan-prompt" class="kuaizhan-prompt-w"> <span class="prompt-text-w">点击查看更多精彩内容</span> </div> </div> --> <!--关闭评论--> <div class="list-close-comment-w"> </div> </div> </div> </div>
最新评论
该评论已关闭!
codeKK正在使用畅言 </a> </div> </div> <div node-type="cy-to-shequ" class="cy-redirect-btn"> <span class="cy-redirect-text">去社区看看吧</span><i class="cy-right-arrow"></i> </div> <div node-type="cy-to-hots" class="cy-redirect-btn"> <span class="cy-redirect-text">去热评看看吧</span><i class="cy-right-arrow"></i> </div> <div class="cy-to-shequ-float"></div>
<li node-type="notice-message" data-alias="message" data-type="message" data-static="static" class="nt-item" style=" display: none "> <div class="nt-logo"></div> <a node-type="notice-content" class="nt-text" href="javascript:void(0);">你收到<i>0</i>条新通知</a> <a class="nt-close" href="javascript:void(0);"></a> </li> <li node-type="notice-support" data-alias="support" data-type="support" data-static="static" class="nt-item" style=" display: none "> <div class="nt-logo"></div> <a node-type="notice-content" class="nt-text" href="javascript:void(0);">你有<i>0</i>条评论收到赞同</a> <a class="nt-close" href="javascript:void(0);"></a> </li> <li node-type="notice-reply" data-alias="reply" data-type="reply" data-static="static" class="nt-item" style=" display: none "> <div class="nt-logo"></div> <a node-type="notice-content" class="nt-text" href="javascript:void(0);">你有<i>0</i>条新回复</a> <a class="nt-close" href="javascript:void(0);"></a> </li> <li node-type="notice-hots" data-alias="hots" data-type="hots" data-static="static" class="nt-item" style=" display: none "> <div class="nt-logo"></div> <a node-type="notice-content" class="nt-text" href="javascript:void(0);">本日畅言热评新鲜出炉啦!</a> <a class="nt-close" href="javascript:void(0);"></a> </li> <li node-type="notice-task" data-alias="task" data-type="task" data-static="static" class="nt-item" style=" display: none "> <div class="nt-logo"></div> <a node-type="notice-content" class="nt-text" href="javascript:void(0);">你有<i>0</i>个任务已完成</a> <a class="nt-close" href="javascript:void(0);"></a> </li> <li node-type="notice-history" data-alias="history" data-type="history" data-static="static" class="nt-item" style=" display: none "> <div class="nt-logo"></div> <a node-type="notice-content" class="nt-text" href="javascript:void(0);">你收获<i>0</i>个畅言足迹</a> <a class="nt-close" href="javascript:void(0);"></a> </li> </ul>
(function(){
var appid = 'cyt1Opx1y';
var conf = 'prod_25a44a4fd22541d61949aa1e5dc77030';
var width = window.innerWidth || document.documentElement.clientWidth;
if (width < 960) {
(adsbygoogle = window.adsbygoogle || []).push({});
源码解析文章Dagger PhotoView NineOldAnimations 公共技术点之依赖注入 SlidingMenu BaseAdapterHelper 公共技术点之 View 绘制流程 EventBus xUtils discreteSeekBar Volley Side Menu.Android CircularFloatingActionMenu PagerSlidingTabStrip CalendarListView 公共技术点之 Java 注解 Annotation 公共技术点之 Java 反射 Reflection ViewPagerIndicator DynamicLoadApk Android-Universal-Image-Loader android-Ultra-Pull-To-Refresh Jave Proxy android-lockpattern cling HoloGraphLibrary 公共技术点之 Android 动画基础 公共技术点之 View 事件传递 Android 开发经验分享
阿里 Android 内推淘宝、闲鱼、钉钉 Android,20k-45k,16 薪天猫、口碑、高德 Android,20k-45k,16 薪蚂蚁、去啊、菜鸟 Android,20k-45k,16 薪站外文章 Android 开发调试利器 1.4.0 版80% 以上简历都是不合格的推荐两个技术简历模板Android 最新 Support V4 包大拆分有用吗?他们都没告诉你适配 Android N 需要注意什么移动端网络优化阿里、滴滴 Android 内推喜大普奔,我们团队招人了闲鱼、钉钉、淘宝 Android,20k-45k,16 薪滴滴 Android,20k-40k,16 薪、期权、六险一金去啊、菜鸟、蚂蚁 Android,20k-45k,16 薪 © 2018 Powered by Trinea 关于
浙公网安备 33010602005708号(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-59203246-1', 'auto');
<iframe id="google_osd_static_frame_5342254885909"></iframe>
相关文章推荐
- 仿京东淘宝等首页广告弹窗广告 dialog
- ViewPager+DialogFragment实现弹窗左右滑动切换
- ViewPager+DialogFragment实现弹窗左右滑动切换
- Android自定义加载等待Dialog弹窗控件(仿ios效果实现)
- JS弹窗广告特效代码,一个IP只弹出1次
- javascript:左右两侧广告的滑动特效
- 随滚动条上下滑动的广告效果
- 广告banner:手动滑动切换,自动切换,点击跳转,异步加载网络图片
- 简说宽带商的弹窗广告进化及网站应对之策(DNS劫持进化论)
- Android中关于Dialog滑动弹出的简单动画的设置
- Android开发丶使用DialogFragment完成炫酷的弹窗登录界面并完成DialogFragment与宿主Fragment的通信
- 兼容web端和手机端的弹窗插件,(弹窗内可滑动,并可阻止下面的页面滑动)
- LIFERAY dialog弹窗获取返回值
- 圣墟(圣墟最新章节,圣墟无弹窗全文阅读,圣墟无广告全文阅读)
- Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)
- JavaScript定时器制作弹窗小广告
- WinRAR官方不带弹窗广告的简体中文版
- Android Dialog弹窗提示,在4.4.4和5.1中会默认显示Dialog的title
- 屏蔽宽带运营商的弹窗广告
- 左右滑动弹窗之间短信内容区域来显示上一条和下一条短信