Skip to content

Commit 2f83d55

Browse files
committed
完善警告弹窗,增加独立确定按钮样式;
1 parent 68edb0a commit 2f83d55

File tree

6 files changed

+85
-9
lines changed

6 files changed

+85
-9
lines changed

README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,12 @@ implementation 'com.hl:poplibrary:1.0.2'
7070
implementation 'com.hl:poplibrary:1.0.3'
7171
//1.0.4 自定义+分享弹窗+注册登录弹窗+更新弹窗
7272
implementation 'com.hl:poplibrary:1.0.4'
73-
//1.0.1.4 App更新请移步传送门
73+
//1.0.1.4 App更新模块(请移步传送门)
74+
implementation 'com.hl:poplibrary:1.0.1.4'
7475
//1.0.6.1 自定义+分享弹窗+注册登录弹窗+更新弹窗+垂直列表弹窗 + 增加了伸缩显示动画 - 下一版决定整合完善为一个版本!
7576
implementation 'com.hl:poplibrary:1.0.6.1'
7677
//1.0.6.2 自定义+分享弹窗+注册登录弹窗+更新弹窗+垂直列表弹窗+警告类弹窗A
77-
implementation 'com.hl:poplibrary:1.0.6.2'
78+
implementation 'com.hl:poplibrary:1.0.6.3'
7879

7980
//依赖过可以忽略(使用分享弹窗需要依赖)/1.0.2
8081
implementation 'com.android.support:recyclerview-v7:28.0.0'//看你版本

app/src/main/java/pop/hl/com/commonpopupwindow/MainActivity.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,8 @@ public void onClick(View view, int pos) {
266266
break;
267267
case R.id.am_alertA_btn:
268268
builder = AlertPopView.showALertTypeA(this, view,
269-
"提示", "是否确认删除!", "#f0008DCF", new OnEventListenner.OnAlertClickListenner() {
269+
"提示", "是否确认删除!", "#f0008DCF",
270+
true, new OnEventListenner.OnAlertClickListenner() {
270271
@Override
271272
public void onClick(View view, AlertPopView.CALLBACK_TYPE callback_type) {
272273

doc/library/alert_guid.md

+24
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,22 @@
4545
String _allColor,
4646
OnEventListenner.OnAlertClickListenner _onAlertClickListenner) {
4747
}
48+
/**
49+
* 显示警告弹窗(A类型警告弹窗) - 只有确定按钮
50+
* @param _context
51+
* @param _achor
52+
* @param _title - 标题
53+
* @param _message - 提示消息
54+
* @param _allColor - 主题颜色 - 目前针对左右按钮
55+
* @param _bOkDismiss - 点击确定是否消失弹窗
56+
* @param _onAlertClickListenner
57+
* @return
58+
*/
59+
public static BasePop.Builder showALertTypeA(Context _context, View _achor,
60+
String _title, String _message,
61+
String _allColor, boolean _bOkDismiss,
62+
OnEventListenner.OnAlertClickListenner _onAlertClickListenner) {
63+
}
4864
```
4965
# USE
5066
```Java
@@ -55,4 +71,12 @@ BasePop.Builder builder = AlertPopView.showALertTypeA(this, view,
5571

5672
}
5773
});
74+
BasePop.Builder builder2 = AlertPopView.showALertTypeA(this, view,
75+
"提示", "是否确认删除!", "#f0008DCF",
76+
true, new OnEventListenner.OnAlertClickListenner() {
77+
@Override
78+
public void onClick(View view, AlertPopView.CALLBACK_TYPE callback_type) {
79+
80+
}
81+
});
5882
```

doc/library/update_guid.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
# 更新日志
2+
# V 1.0.6.3(进行中)
3+
>警告类弹窗
4+
# V 1.0.6.1
5+
>垂直列表弹窗
6+
# V 1.0.1.4
7+
>App更新模块
28
# V 1.0.4 (进行中)
39
>1.添加APP更新弹窗【经典样式】
410
# V 1.0.3
511
>添加注册登录弹窗【常规样式】
6-
# V 1.0.2
12+
# V 1.0.2 (进行中)
713
>1.添加分享弹窗,提供SharePopView调用类
814
>2.PopView类修改为BasePopView类
915
>3.事件处理单独提出为OnEventListenner类(提供自定义布局控件点击回调接口、弹窗消失回调接口、分享弹窗点击回调接口)

poplibrary/project.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ project.groupId=com.hl
1414
#artifactId要和module的名字一致 #project.artifactId:项目ID,通常情况下如果你的包名为com.example.test,那么项目ID就是test
1515
project.artifactId=poplibrary
1616
project.packaging=aar
17-
project.version=1.0.6.2
17+
project.version=1.0.6.3
1818
project.siteUrl=https://github.com/FanChael/CommonPopupWindow
1919
project.gitUrl=https://github.com/FanChael/CommonPopupWindow.git
2020

poplibrary/src/main/java/pop/hl/com/poplibrary/AlertPopView.java

+48-4
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ public static BasePop.Builder showALertTypeA(Context _context, View _achor,
4444
String _allColor, boolean _bCancelDismiss,
4545
OnEventListenner.OnAlertClickListenner _onAlertClickListenner) {
4646
return new Builder(_context)
47-
.create(_title, _message, _nagative, _positive, _allColor, _bCancelDismiss, _achor)
47+
.create(_title, _message, _nagative,
48+
_positive, _allColor, _bCancelDismiss,
49+
false, _achor)
4850
.showAlertA(_onAlertClickListenner);
4951
}
5052

@@ -66,7 +68,32 @@ public static BasePop.Builder showALertTypeA(Context _context, View _achor,
6668
.create(_title, _message,
6769
_context.getResources().getString(R.string.cancel),
6870
_context.getResources().getString(R.string.ok),
69-
_allColor, true, _achor)
71+
_allColor, true,
72+
false, _achor)
73+
.showAlertA(_onAlertClickListenner);
74+
}
75+
76+
/**
77+
* 显示警告弹窗(A类型警告弹窗) - 只有确定按钮
78+
* @param _context
79+
* @param _achor
80+
* @param _title - 标题
81+
* @param _message - 提示消息
82+
* @param _allColor - 主题颜色 - 目前针对左右按钮
83+
* @param _bOkDismiss - 点击确定是否消失弹窗
84+
* @param _onAlertClickListenner
85+
* @return
86+
*/
87+
public static BasePop.Builder showALertTypeA(Context _context, View _achor,
88+
String _title, String _message,
89+
String _allColor, boolean _bOkDismiss,
90+
OnEventListenner.OnAlertClickListenner _onAlertClickListenner) {
91+
return new Builder(_context)
92+
.create(_title, _message,
93+
"",
94+
_context.getResources().getString(R.string.ok),
95+
_allColor, true,
96+
_bOkDismiss, _achor)
7097
.showAlertA(_onAlertClickListenner);
7198
}
7299

@@ -79,9 +106,10 @@ public static class Builder {
79106
private WeakReference<Context> contextWeakReference;
80107
private BasePop.Builder builder = null;
81108
private String titleS, messageS;
82-
private String nagativeS, positiveS;
109+
private String nagativeS = "", positiveS;
83110
private String allColor;
84111
private boolean bCancelDismiss;
112+
private boolean bOkDismiss;
85113

86114
public Builder(Context _context) {
87115
this.contextWeakReference = new WeakReference<>(_context);
@@ -90,13 +118,15 @@ public Builder(Context _context) {
90118
public Builder create(String _title, String _message,
91119
String _nagative, String _positive,
92120
String _allColor, boolean _bCancelDismis,
121+
boolean _bOkDismiss,
93122
View _achor) {
94123
this.allColor = _allColor;
95124
this.titleS = _title;
96125
this.messageS = _message;
97126
this.positiveS = _positive;
98127
this.nagativeS = _nagative;
99128
this.bCancelDismiss = _bCancelDismis;
129+
this.bOkDismiss = _bOkDismiss;
100130
this.builder = new BasePop.Builder(contextWeakReference.get())
101131
.create(_achor)
102132
.setOutsideTouchable(false)
@@ -120,9 +150,15 @@ public BasePop.Builder showAlertA(final OnEventListenner.OnAlertClickListenner _
120150
TextView title = popView.findViewById(R.id.pa_title);
121151
TextView message = popView.findViewById(R.id.pa_message);
122152
TextView negativeTv = popView.findViewById(R.id.pa_negativeTv);
153+
ConstraintLayout negative = popView.findViewById(R.id.pa_negative);
123154
TextView positiveTv = popView.findViewById(R.id.pa_positiveTv);
124155

125-
int windowW = ScreenUtil.getScreenW(contextWeakReference.get()) * 3 / 4;
156+
int windowW;
157+
if (null == nagativeS || nagativeS.equals("")){
158+
windowW = ScreenUtil.getScreenW(contextWeakReference.get()) * 1 / 2;
159+
}else{
160+
windowW = ScreenUtil.getScreenW(contextWeakReference.get()) * 3 / 4;
161+
}
126162
///< 内容宽度为屏幕的3/4
127163
ScreenUtil.setConstraintLayoutWH(alertContentRoot, windowW, -1);
128164

@@ -132,6 +168,10 @@ public BasePop.Builder showAlertA(final OnEventListenner.OnAlertClickListenner _
132168
negativeTv.setText(nagativeS);
133169
positiveTv.setText(positiveS);
134170

171+
if (null == nagativeS || nagativeS.equals("")){
172+
negative.setVisibility(View.GONE);
173+
}
174+
135175
///< 设置主题
136176
negativeTv.setTextColor(Color.parseColor(allColor));
137177
positiveTv.setTextColor(Color.parseColor(allColor));
@@ -158,6 +198,10 @@ public void onClick(View v) {
158198
if (null != _onAlertClickListenner){
159199
_onAlertClickListenner.onClick(v, CALLBACK_TYPE.OK);
160200
}
201+
202+
if (bOkDismiss && (null == nagativeS || nagativeS.equals(""))){
203+
builder.dissmiss();
204+
}
161205
}
162206
});
163207
builder.show(BasePopView.SIMPLE_GRAVITY.CENTER_IN_PARENT);

0 commit comments

Comments
 (0)