Skip to content

Commit ef9aa0e

Browse files
author
maqiang
committed
CommonDialog
CommonDialog
1 parent 356a7a8 commit ef9aa0e

File tree

6 files changed

+90
-203
lines changed

6 files changed

+90
-203
lines changed

app/src/main/java/org/ninetripods/mq/study/popup/CommonDialogActivity.java

+31-31
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import org.ninetripods.mq.study.R;
2626
import org.ninetripods.mq.study.popup.dialog.DialogUtil;
2727

28-
public class CommonDialogActivity extends BaseActivity implements IDialog.OnBuildListener {
28+
public class CommonDialogActivity extends BaseActivity {
2929
private SYDialog dialog;
3030

3131
@Override
@@ -54,7 +54,7 @@ public void showDefaultDialog(View view) {
5454
DialogUtil.createDefaultDialog(this, "我是标题", "你好,我们将在30分钟处理,稍后通知您订单结果!",
5555
"", new IDialog.OnClickListener() {
5656
@Override
57-
public void onClick(IDialog dialog) {
57+
public void onClick(IDialog dialog) {
5858
dialog.dismiss();
5959
}
6060
});
@@ -91,45 +91,44 @@ public void onClick(IDialog dialog) {
9191
* @param view View
9292
*/
9393
public void showBaseUseDialog(View view) {
94-
view.setId(R.id.btn_ok);
9594
new SYDialog.Builder(this)
96-
.setDialogView(R.layout.dialog_phone_login)
97-
.setAnimStyle(R.style.translate_style)
98-
.setScreenWidthP(0.8f)
99-
.setGravity(Gravity.CENTER)
100-
.setWindowBackgroundP(0.2f)
101-
.setCancelable(true)
102-
.setCancelableOutSide(true)
103-
.setBuildChildListener(this)
104-
.show();
105-
}
106-
107-
@Override
108-
public void onBuildChildView(final IDialog dialog, View view, int layoutRes) {
109-
switch (layoutRes) {
110-
case R.layout.layout_dialog:
111-
final EditText editText = view.findViewById(R.id.et_content);
112-
Button btn_ok = view.findViewById(R.id.btn_ok);
113-
btn_ok.setOnClickListener(new View.OnClickListener() {
95+
.setDialogView(R.layout.layout_dialog)//设置dialog布局
96+
.setAnimStyle(R.style.translate_style)//设置动画 默认没有动画
97+
.setScreenWidthP(0.85f) //设置屏幕宽度比例 0.0f-1.0f
98+
.setGravity(Gravity.CENTER)//设置Gravity
99+
.setWindowBackgroundP(0.2f)//设置背景透明度 0.0f-1.0f 1.0f完全不透明
100+
.setCancelable(true)//设置是否屏蔽物理返回键 true不屏蔽 false屏蔽
101+
.setCancelableOutSide(true)//设置dialog外点击是否可以让dialog消失
102+
.setBuildChildListener(new IDialog.OnBuildListener() {
103+
//设置子View
114104
@Override
115-
public void onClick(View v) {
116-
String editTextStr = null;
117-
if (!TextUtils.isEmpty(editText.getText())) {
118-
editTextStr = editText.getText().toString();
119-
}
120-
dialog.dismiss();
121-
Toast.makeText(MyApplication.getApplication(), editTextStr, Toast.LENGTH_SHORT).show();
105+
public void onBuildChildView(final IDialog dialog, View view, int layoutRes) {
106+
//dialog: IDialog
107+
//view: DialogView
108+
//layoutRes :Dialog的资源文件 如果一个Activity里有多个dialog 可以通过layoutRes来区分
109+
final EditText editText = view.findViewById(R.id.et_content);
110+
Button btn_ok = view.findViewById(R.id.btn_ok);
111+
btn_ok.setOnClickListener(new View.OnClickListener() {
112+
@Override
113+
public void onClick(View v) {
114+
String editTextStr = null;
115+
if (!TextUtils.isEmpty(editText.getText())) {
116+
editTextStr = editText.getText().toString();
117+
}
118+
dialog.dismiss();
119+
Toast.makeText(MyApplication.getApplication(), editTextStr, Toast.LENGTH_SHORT).show();
120+
}
121+
});
122122
}
123-
});
124-
break;
125-
}
123+
}).show();
126124
}
127125

128126
/**
129127
* 4、展示进度条
130128
*
131129
* @param view View
132130
*/
131+
133132
public void showLoadingDialog(View view) {
134133
DialogUtil.createLoadingDialog(this);
135134
new Handler().postDelayed(new Runnable() {
@@ -362,6 +361,7 @@ public ShareHolder(View itemView) {
362361
ll_share = itemView.findViewById(R.id.ll_share);
363362
}
364363
}
364+
365365
}
366366

367367

app/src/main/java/org/ninetripods/mq/study/popup/dialog/DialogUtil.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public static void createDefaultDialog(Context context, String title, String con
6060
builder.setNegativeButton(btn2Str, negativeClickListener);
6161
}
6262
}
63-
builder.showDefault();
63+
builder.show();
6464
}
6565

6666
private static HashMap<String, SYDialog> hashMap = new HashMap<>();

app/src/main/res/layout/dialog_phone_login.xml

-77
This file was deleted.
+52-79
Original file line numberDiff line numberDiff line change
@@ -1,99 +1,72 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3-
android:id="@+id/ll_parent"
4-
android:layout_width="match_parent"
2+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:id="@+id/layout_content"
4+
android:layout_width="fill_parent"
55
android:layout_height="wrap_content"
6-
android:layout_gravity="center"
7-
android:layout_marginLeft="10dip"
8-
android:layout_marginRight="10dip"
9-
android:background="@android:color/transparent">
6+
android:background="@drawable/roundlayout"
7+
android:gravity="center_horizontal"
8+
android:orientation="vertical">
109

1110
<LinearLayout
12-
android:id="@+id/layout_content"
13-
android:layout_width="fill_parent"
11+
android:id="@+id/layout_havemsg"
12+
android:layout_width="match_parent"
1413
android:layout_height="wrap_content"
15-
android:layout_alignParentTop="true"
16-
android:background="@drawable/roundlayout"
17-
android:gravity="center_horizontal"
18-
android:orientation="vertical">
14+
android:orientation="vertical"
15+
android:paddingLeft="15dp"
16+
android:paddingRight="15dp">
1917

20-
<LinearLayout
21-
android:id="@+id/layout_havemsg"
18+
<TextView
2219
android:layout_width="fill_parent"
2320
android:layout_height="wrap_content"
24-
android:orientation="vertical"
25-
android:paddingLeft="15dp"
26-
android:paddingRight="15dp">
21+
android:layout_marginTop="15dp"
22+
android:gravity="center_horizontal"
23+
android:lineSpacingExtra="6dp"
24+
android:text="我是标题"
25+
android:textColor="#292d33"
26+
android:textSize="18sp" />
2727

28-
<TextView
29-
android:id="@id/dialog_title"
30-
android:layout_width="fill_parent"
31-
android:layout_height="wrap_content"
32-
android:layout_marginTop="15dp"
33-
android:gravity="center_horizontal"
34-
android:lineSpacingExtra="6dp"
35-
android:text="订单提交成功"
36-
android:textColor="#292d33"
37-
android:textSize="18sp"
38-
android:visibility="visible" />
28+
<EditText
29+
android:id="@+id/et_content"
30+
android:layout_width="fill_parent"
31+
android:layout_height="wrap_content"
32+
android:layout_marginBottom="15dp"
33+
android:layout_marginTop="15dp"
34+
android:gravity="start|center_horizontal"
35+
android:hint="请输入想要的内容"
36+
android:lineSpacingExtra="6dp"
37+
android:textColor="#525a66"
38+
android:textSize="15sp" />
3939

40-
<EditText
41-
android:id="@+id/et_content"
42-
android:layout_width="fill_parent"
43-
android:layout_height="wrap_content"
44-
android:layout_marginBottom="15dp"
45-
android:layout_marginTop="15dp"
46-
android:gravity="center_horizontal"
47-
android:hint="请输入想要的内容"
48-
android:lineSpacingExtra="6dp"
49-
android:textColor="#525a66"
50-
android:textSize="15sp" />
51-
</LinearLayout>
40+
</LinearLayout>
5241

53-
<TextView
54-
android:id="@+id/txt_onlytitle"
42+
<LinearLayout
43+
android:layout_width="fill_parent"
44+
android:layout_height="wrap_content"
45+
android:orientation="horizontal">
46+
47+
<Button
48+
android:id="@id/btn_cancel"
5549
android:layout_width="fill_parent"
5650
android:layout_height="wrap_content"
51+
android:layout_weight="1"
52+
android:background="@drawable/selector_btn_cancel_border_bg"
5753
android:gravity="center"
58-
android:lineSpacingExtra="6dp"
59-
android:minHeight="106dp"
60-
android:paddingLeft="20dp"
61-
android:paddingRight="20dp"
62-
android:text="订单提交成功"
63-
android:textColor="#292d33"
54+
android:minHeight="44dp"
55+
android:text="取消"
56+
android:textColor="#f7595a"
6457
android:textSize="17sp"
6558
android:visibility="gone" />
6659

67-
<LinearLayout
60+
<Button
61+
android:id="@id/btn_ok"
6862
android:layout_width="fill_parent"
6963
android:layout_height="wrap_content"
70-
android:orientation="horizontal">
71-
72-
<Button
73-
android:id="@id/btn_cancel"
74-
android:layout_width="fill_parent"
75-
android:layout_height="wrap_content"
76-
android:layout_weight="1"
77-
android:background="@drawable/selector_btn_cancel_border_bg"
78-
android:gravity="center"
79-
android:minHeight="44dp"
80-
android:text="取消"
81-
android:textColor="#f7595a"
82-
android:textSize="17sp"
83-
android:visibility="gone" />
84-
85-
<Button
86-
android:id="@id/btn_ok"
87-
android:layout_width="fill_parent"
88-
android:layout_height="wrap_content"
89-
android:layout_weight="1"
90-
android:background="@drawable/selector_btn_assuere_border_bg"
91-
android:gravity="center"
92-
android:minHeight="44dp"
93-
android:text="确定"
94-
android:textColor="#f7595a"
95-
android:textSize="17sp" />
96-
</LinearLayout>
64+
android:layout_weight="1"
65+
android:background="@drawable/selector_btn_assuere_border_bg"
66+
android:gravity="center"
67+
android:minHeight="44dp"
68+
android:text="确定"
69+
android:textColor="#f7595a"
70+
android:textSize="17sp" />
9771
</LinearLayout>
98-
99-
</RelativeLayout>
72+
</LinearLayout>

sydialoglib/src/main/java/com/fastgo/sydialoglib/SYDialog.java

+5-14
Original file line numberDiff line numberDiff line change
@@ -317,24 +317,15 @@ private SYDialog create() {
317317
}
318318

319319
/**
320-
* 展示自定义布局的Dialog
320+
* 展示Dialog
321321
*
322322
* @return SYDialog
323323
*/
324324
public SYDialog show() {
325-
SYDialog dialog = create();
326-
removePreDialog();
327-
dialog.show(params.fragmentManager, FTag);
328-
return dialog;
329-
}
330-
331-
/**
332-
* 展示默认的dialog
333-
*
334-
* @return SYDialog
335-
*/
336-
public SYDialog showDefault() {
337-
setDefaultOption();
325+
if (params.layoutRes <= 0 && params.dialogView == null) {
326+
//如果没有设置布局 提供默认设置
327+
setDefaultOption();
328+
}
338329
SYDialog dialog = create();
339330
removePreDialog();
340331
dialog.show(params.fragmentManager, FTag);

sydialoglib/src/main/java/com/fastgo/sydialoglib/SYDialogController.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ public static class SYParams {
148148
int dialogHeight;
149149
float dimAmount = 0.2f;
150150
public int gravity = Gravity.CENTER;
151-
boolean isCancelableOutside = false;
151+
boolean isCancelableOutside = true;
152152
boolean cancelable = false;
153153
View dialogView;
154154
Context context;

0 commit comments

Comments
 (0)