Skip to content

Commit 6cb0e2d

Browse files
authored
Update README.md
1 parent dc3b3d8 commit 6cb0e2d

File tree

1 file changed

+332
-1
lines changed

1 file changed

+332
-1
lines changed

README.md

Lines changed: 332 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,332 @@
1-
# android-adDialog
1+
# android-adDialog
2+
3+
在介绍具体的使用说明之前,我们先看一下简单的实现效果:
4+
<br>![image](https://github.com/yipianfengye/android-adDialog/blob/master/images/ezgif.com-video-to-gif1.gif)
5+
6+
**使用说明**
7+
8+
- 显示一个默认广告弹窗,支持单广告活动、多广告活动,当弹窗显示多广告是默认显示底部小圆圈,当显示单活动时默认不显示底部小圆圈;
9+
10+
- 默认支持弹窗从上,下,左,右,左上,右上,左下,右下等八个方向弹出,更可以设置从任意指定的角度(0-360)弹出;
11+
12+
- 默认继承了弹性动画效果,可以设定弹性动画弹性参数,动画速度等;
13+
14+
- 支持对弹窗背景透明色的更改,支持对弹窗透明,支持设置弹窗背景全屏显示或者是只在内容区域显示;
15+
16+
- 支持设定弹窗宽高比,支持设置弹窗距离屏幕两侧距离,支持设置关闭按钮是否显示;
17+
18+
- 支持对关闭按钮点击事件的回调,对每一项广告活动点击事件的回调等;
19+
20+
- 支持对ViewPager滑动动画效果的设定,支持自定义ViewPager滑动动画效果;
21+
22+
**API说明:**
23+
24+
所有的设置参数均返回AdManager对象,所以可以直接链式调用。
25+
```
26+
AdManager adManager = new AdManager(MainActivity.this, advList);
27+
aDMamager.
28+
/**
29+
* 设置弹窗背景全屏显示还是在内容区域显示
30+
*/
31+
.setOverScreen(true)
32+
/**
33+
* 设置ViewPager的滑动动画
34+
*/
35+
.setPageTransformer(new DepthPageTransformer())
36+
/**
37+
* 设置弹窗距离屏幕两侧的距离(单位dp)
38+
*/
39+
.setPadding(100)
40+
/**
41+
* 设置弹窗的宽高比
42+
*/
43+
.setWidthPerHeight(0.75f)
44+
/**
45+
* 设置弹窗的背景色(当弹窗背景设置透明时,此设置失效)
46+
*/
47+
.setBackViewColor(Color.parseColor("#AA333333"))
48+
/**
49+
* 设置弹窗背景是否透明
50+
*/
51+
.setAnimBackViewTransparent(true)
52+
/**
53+
* 设置弹窗关闭图标是否可见
54+
*/
55+
.setDialogCloseable(false)
56+
/**
57+
* 设置弹窗弹性滑动弹性值
58+
*/
59+
.setBounciness(15)
60+
/**
61+
* 设置弹窗弹性滑动速度值
62+
*/
63+
.setSpeed(5)
64+
/**
65+
* 设定弹窗点击事件回调
66+
*/
67+
.setOnImageClickListener(new AdManager.OnImageClickListener() {})
68+
/**
69+
* 设定关闭按钮点击事件回调
70+
*/
71+
.setOnCliseClickListener(new OnClickListener() {})
72+
/**
73+
* 开始执行弹窗的显示操作,可传值为0-360,0表示从右开始弹出,逆时针方向,也可以传入自定义的方向值
74+
*/
75+
.showAdDialog(AdConstant.ANIM_UP_TO_DOWN)
76+
```
77+
78+
**使用方式:**
79+
80+
- 在module的build.gradle中执行compile操作
81+
82+
```
83+
compile 'cn.yipianfengye.android:ad-library:1.0'
84+
```
85+
86+
- 在代码中初始化数据
87+
88+
```
89+
/**
90+
* 初始化数据
91+
*/
92+
private void initData() {
93+
advList = new ArrayList<>();
94+
AdInfo adInfo = new AdInfo();
95+
adInfo.setActivityImg("https://raw.githubusercontent.com/yipianfengye/android-adDialog/master/images/testImage1.png");
96+
advList.add(adInfo);
97+
98+
adInfo = new AdInfo();
99+
adInfo.setActivityImg("https://raw.githubusercontent.com/yipianfengye/android-adDialog/master/images/testImage2.png");
100+
advList.add(adInfo);
101+
}
102+
```
103+
这里只要是初始化图片的UI地址信息,方便我们的后续下载操作。
104+
105+
- 执行弹窗的初始化与现实操作
106+
107+
```
108+
/**
109+
* 创建广告活动管理对象
110+
*/
111+
AdManager adManager = new AdManager(MainActivity.this, advList);
112+
adManager.setOverScreen(true)
113+
.setPageTransformer(new DepthPageTransformer());
114+
/**
115+
* 执行弹窗的显示操作
116+
*/
117+
adManager.showAdDialog(AdConstant.ANIM_DOWN_TO_UP);
118+
```
119+
120+
怎么样是不是很简单?下面我们可以来看一下具体API。
121+
122+
**具体的API说明:**
123+
124+
- (1)自定义的弹窗弹出方向API
125+
126+
在执行AdManager的showAdDialog方法时,需要传递一个int型的animType参数,我们默认定义了八个该类型的参数,默认如下:
127+
128+
```
129+
// ####################### 弹出动画效果 ###########################
130+
/**
131+
* 广告活动弹窗动画-从上至下
132+
*/
133+
public static final int ANIM_UP_TO_DOWN = -11;
134+
/**
135+
* 广告活动弹窗动画-从下至上
136+
*/
137+
public static final int ANIM_DOWN_TO_UP = -12;
138+
/**
139+
* 广告活动弹窗动画-从左至右
140+
*/
141+
public static final int ANIM_LEFT_TO_RIGHT = -13;
142+
/**
143+
* 广告活动弹窗动画-从右至左
144+
*/
145+
public static final int ANIM_RIGHT_TO_LEFT = -14;
146+
/**
147+
* 广告活动弹窗动画-从左上弹出
148+
*/
149+
public static final int ANIM_UPLEFT_TO_CENTER = -15;
150+
/**
151+
* 广告活动弹窗动画-从右上弹出
152+
*/
153+
public static final int ANIM_UPRIGHT_TO_CENTER = -16;
154+
/**
155+
* 广告活动弹窗动画-从左下弹出
156+
*/
157+
public static final int ANIM_DOWNLEFT_TO_CENTER = -17;
158+
/**
159+
* 广告活动弹窗动画-从右下弹出
160+
*/
161+
public static final int ANIM_DOWNRIGHT_TO_CENTER = -18;
162+
```
163+
164+
好吧,如果你觉得还不够好,我想让弹窗从右上侧30度角的弹出可以么?这也是支持的,只需要你传递的int型的animType的时候传递30就好了,如下:
165+
166+
```
167+
/**
168+
* 执行弹窗的显示操作(参数的范围:0-360,0表示从右侧弹出,逆时针旋转)
169+
*/
170+
adManager.showAdDialog(30);
171+
```
172+
173+
那么我们看一下执行效果呢:
174+
175+
![image](https://github.com/yipianfengye/android-adDialog/blob/master/images/ezgif.com-video-to-gif2.gif)
176+
177+
- (2)自定义弹窗距离屏幕两侧的距离以及弹窗的宽高比:
178+
179+
```
180+
/**
181+
* 自定义设置广告活动弹窗距离屏幕两侧距离以及宽高比
182+
*/
183+
button2.setOnClickListener(new View.OnClickListener() {
184+
@Override
185+
public void onClick(View v) {
186+
AdManager adManager = new AdManager(MainActivity.this, advList);
187+
188+
adManager.setOnImageClickListener(new AdManager.OnImageClickListener() {
189+
@Override
190+
public void onImageClick(View view, AdInfo advInfo) {
191+
Toast.makeText(MainActivity.this, "您点击了ViewPagerItem...", Toast.LENGTH_SHORT).show();
192+
}
193+
})
194+
.setPadding(100)
195+
.setWidthPerHeight(0.5f)
196+
.showAdDialog(AdConstant.ANIM_UP_TO_DOWN);
197+
}
198+
});
199+
```
200+
201+
然后我们看一下执行效果:
202+
203+
![image](https://github.com/yipianfengye/android-adDialog/blob/master/images/ezgif.com-video-to-gif3.gif)
204+
205+
怎么样?是不是发现弹窗的宽高比和距离屏幕两侧的距离发生了变化?
206+
207+
- (3)自定义背景颜色,自定义弹窗是否覆盖全屏,关闭按钮是否显示
208+
209+
```
210+
/**
211+
* 自定义弹窗背景颜色,弹窗是否覆盖全屏,关闭按钮是否显示等
212+
*/
213+
button3.setOnClickListener(new View.OnClickListener() {
214+
@Override
215+
public void onClick(View v) {
216+
AdManager adManager = new AdManager(MainActivity.this, advList);
217+
218+
adManager.setOnImageClickListener(new AdManager.OnImageClickListener() {
219+
@Override
220+
public void onImageClick(View view, AdInfo advInfo) {
221+
Toast.makeText(MainActivity.this, "您点击了ViewPagerItem...", Toast.LENGTH_SHORT).show();
222+
}
223+
})
224+
.setBackViewColor(Color.parseColor("#AA333333"))
225+
.setDialogCloseable(false)
226+
.showAdDialog(AdConstant.ANIM_UP_TO_DOWN);
227+
}
228+
});
229+
```
230+
231+
然后我们来看一下具体的实现效果:
232+
233+
![image](https://github.com/yipianfengye/android-adDialog/blob/master/images/ezgif.com-video-to-gif4.gif)
234+
235+
可以看到我们更改了弹窗的背景颜色以及未显示关闭按钮
236+
237+
- (4)自定义设置弹性动画弹性参数和速度参数
238+
239+
```
240+
/**
241+
* 自定义设定弹窗弹性参数和速度参数
242+
*/
243+
button4.setOnClickListener(new View.OnClickListener() {
244+
@Override
245+
public void onClick(View v) {
246+
AdManager adManager = new AdManager(MainActivity.this, advList);
247+
248+
adManager.setOnImageClickListener(new AdManager.OnImageClickListener() {
249+
@Override
250+
public void onImageClick(View view, AdInfo advInfo) {
251+
Toast.makeText(MainActivity.this, "您点击了ViewPagerItem...", Toast.LENGTH_SHORT).show();
252+
}
253+
})
254+
.setBounciness(20)
255+
.setSpeed(4)
256+
.showAdDialog(AdConstant.ANIM_UP_TO_DOWN);
257+
}
258+
});
259+
```
260+
261+
然后我们看一下动画效果:
262+
<br>![image](https://github.com/yipianfengye/android-adDialog/blob/master/images/ezgif.com-video-to-gif5.gif)
263+
264+
为了明显的展示出动画效果,我们设置的弹性参数和速度参数比较大,是不是比较出来了这两个参数的作用?
265+
266+
- (5)自定义设置弹窗ViewPager滑动动画:
267+
268+
```
269+
/**
270+
* 自定义设置弹窗ViewPager滑动动画
271+
*/
272+
button5.setOnClickListener(new View.OnClickListener() {
273+
@Override
274+
public void onClick(View v) {
275+
AdManager adManager = new AdManager(MainActivity.this, advList);
276+
277+
adManager.setOnImageClickListener(new AdManager.OnImageClickListener() {
278+
@Override
279+
public void onImageClick(View view, AdInfo advInfo) {
280+
Toast.makeText(MainActivity.this, "您点击了ViewPagerItem...", Toast.LENGTH_SHORT).show();
281+
}
282+
})
283+
.setPageTransformer(new RotateDownPageTransformer())
284+
.showAdDialog(AdConstant.ANIM_UP_TO_DOWN);
285+
}
286+
});
287+
```
288+
289+
然后我们看一下弹窗的滑动动画:
290+
291+
![image](https://github.com/yipianfengye/android-adDialog/blob/master/images/ezgif.com-video-to-gif6.gif)
292+
293+
这里我内置了三种ViewPager的滑动动画效果:
294+
295+
```
296+
DepthPageTransformer;
297+
RotateDownPageTransformer;
298+
ZoomOutPageTransformer;
299+
```
300+
我们还可以自定义实现:PageTransformer自定义出自己的滑动动画效果,更多关于PageTransformer的知识,可参考鸿洋大神的:<a href="http://blog.csdn.net/lmj623565791/article/details/40411921"> Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下)</a>
301+
302+
- (6)自定义关闭按钮点击事件回调,ViewPagerItem点击事件回调
303+
304+
```
305+
/**
306+
* 自定义设置弹窗ViewPagerItem点击事件,关闭按钮点击事件回调
307+
*/
308+
button6.setOnClickListener(new View.OnClickListener() {
309+
@Override
310+
public void onClick(View v) {
311+
AdManager adManager = new AdManager(MainActivity.this, advList);
312+
313+
adManager.setOnImageClickListener(new AdManager.OnImageClickListener() {
314+
@Override
315+
public void onImageClick(View view, AdInfo advInfo) {
316+
Toast.makeText(MainActivity.this, "您点击了ViewPagerItem...", Toast.LENGTH_SHORT).show();
317+
}
318+
})
319+
.setOnCloseClickListener(new View.OnClickListener() {
320+
@Override
321+
public void onClick(View v) {
322+
Toast.makeText(MainActivity.this, "您点击了关闭按钮...", Toast.LENGTH_SHORT).show();
323+
}
324+
})
325+
.showAdDialog(AdConstant.ANIM_UP_TO_DOWN);
326+
}
327+
});
328+
```
329+
330+
好吧,以上就是广告活动弹窗的API,除了以上还可以添加其他的一些API,欢迎提出。
331+
332+
以上就是这个控件的相关内容,欢迎star和follow,也可参考我的blog:<a href="http://blog.csdn.net/qq_23547831/article/details/52121633">Github项目解析(十一)-->一个简单强大的自定义广告活动弹窗</a>

0 commit comments

Comments
 (0)