主界面
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
LinearLayout
android:orientation
=
"vertical"
android:background
=
"#FFFFFF"
android:layout_width
=
"294.0dip"
android:layout_height
=
"250.0dip"
xmlns:android
=
"http://schemas.android.com/apk/res/android"
>
<
include
layout
=
"@layout/common_dialog_title"
/>
<
RelativeLayout
android:gravity
=
"center"
android:orientation
=
"vertical"
android:layout_width
=
"fill_parent"
android:layout_height
=
"90.0dip"
android:layout_weight
=
"100.0"
android:layout_gravity
=
"center"
>
<
TextView
android:paddingLeft
=
"5dip"
android:id
=
"@+id/common_dialog_content_tv"
android:layout_below
=
"@+id/verify_imageView"
android:layout_width
=
"fill_parent"
android:layout_height
=
"90.0dip"
android:layout_marginLeft
=
"4.0dip"
android:layout_marginTop
=
"5.0dip"
android:layout_marginRight
=
"4.0dip"
android:layout_marginBottom
=
"4.0dip"
android:textColor
=
"#000"
android:singleLine
=
"true"
android:text
=
"确实要退出吗?"
android:textSize
=
"18dip"
/>
</
RelativeLayout
>
<
include
android:layout_width
=
"fill_parent"
android:layout_height
=
"wrap_content"
android:layout_weight
=
"1.0"
layout
=
"@layout/common_dialog_bottom_bar"
/>
</
LinearLayout
>
|
title
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
RelativeLayout
android:layout_width
=
"fill_parent"
android:layout_height
=
"50dip"
xmlns:android
=
"http://schemas.android.com/apk/res/android"
>
<
TextView
android:textSize
=
"20dip"
android:textStyle
=
"bold"
android:textColor
=
"#EE000000"
android:ellipsize
=
"marquee"
android:id
=
"@+id/common_dialog_title_text"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_marginLeft
=
"5dip"
android:singleLine
=
"true"
android:layout_centerVertical
=
"true"
android:paddingLeft
=
"3dip"
/>
<
View
android:id
=
"@+id/common_dialog_divider_line"
android:background
=
"#aa888888"
android:layout_width
=
"fill_parent"
android:layout_height
=
"2.0px"
android:layout_alignParentBottom
=
"true"
/>
</
RelativeLayout
>
|
foot
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
LinearLayout
android:orientation
=
"vertical"
android:id
=
"@+id/dialog_bottom_bar"
android:layout_width
=
"fill_parent"
android:layout_height
=
"50.0dip"
xmlns:android
=
"http://schemas.android.com/apk/res/android"
>
<
View
android:background
=
"#aacccccc"
android:layout_width
=
"fill_parent"
android:layout_height
=
"2.0px"
/>
<
LinearLayout
android:orientation
=
"horizontal"
android:layout_width
=
"fill_parent"
android:layout_height
=
"wrap_content"
>
<
Button
android:textSize
=
"18.0dip"
android:id
=
"@+id/common_dialog_btn_ok"
android:layout_width
=
"fill_parent"
android:layout_height
=
"wrap_content"
android:layout_margin
=
"4.0dip"
android:text
=
"确认"
android:layout_weight
=
"1.0"
style
=
"@style/Dialog.OKButton"
/>
<
View
android:background
=
"#aacccccc"
android:layout_width
=
"2.0px"
android:layout_height
=
"fill_parent"
/>
<
Button
android:textSize
=
"18.0dip"
android:id
=
"@+id/common_dialog_btn_cancel"
android:layout_width
=
"fill_parent"
android:layout_height
=
"wrap_content"
android:layout_margin
=
"4.0dip"
android:text
=
"取消"
android:layout_weight
=
"1.0"
style
=
"@style/Dialog.Button"
/>
</
LinearLayout
>
</
LinearLayout
>
|
代码
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
package
com.su.doubanrise.fragment;
import
com.su.doubanrise.MailEditActivity;
import
com.su.doubanrise.MainActivity;
import
com.su.doubanrise.R;
import
com.su.doubanrise.R.id;
import
com.su.doubanrise.R.layout;
import
com.su.doubanrise.util.FileDownLoader;
import
com.su.doubanrise.util.MLog;
import
com.su.doubanrise.widget.AsyncImageLoader;
import
android.R.raw;
import
android.content.Context;
import
android.graphics.drawable.Drawable;
import
android.os.AsyncTask;
import
android.os.Bundle;
import
android.support.v4.app.DialogFragment;
import
android.view.LayoutInflater;
import
android.view.View;
import
android.view.ViewGroup;
import
android.widget.Button;
import
android.widget.EditText;
import
android.widget.ImageView;
import
android.widget.TextView;
public
class
ExitDialog
extends
DialogFragment
implements
View.OnClickListener {
Context context;
private
TextView content_tv;
private
TextView title_tv;
private
String content =
"确实要离开吗?"
;
private
String title =
"确认"
;
public
ExitDialog(String content_tv, String title) {
super
();
this
.content = content_tv;
this
.title = title;
}
public
ExitDialog() {
super
();
}
/**
* 也可以在外部调用
*
* @param title
* @param content
*/
public
void
setDialog(String title, String content) {
title_tv.setText(title);
content_tv.setText(content);
}
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setStyle(0, R.style.MyDialogStyle);
}
@Override
public
View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
context = getActivity();
View view = inflater.inflate(R.layout.common_dialog,
null
);
Button common_dialog_btn_ok = (Button) view
.findViewById(R.id.common_dialog_btn_ok);
Button common_dialog_btn_cancel = (Button) view
.findViewById(R.id.common_dialog_btn_cancel);
title_tv = (TextView) view.findViewById(R.id.common_dialog_title_text);
content_tv = (TextView) view
.findViewById(R.id.common_dialog_content_tv);
setDialog(title, content);
common_dialog_btn_cancel.setOnClickListener(
this
);
common_dialog_btn_ok.setOnClickListener(
this
);
return
view;
}
@Override
public
void
onClick(View v) {
switch
(v.getId()) {
case
R.id.common_dialog_btn_ok:
((MainActivity) context).finish();
this
.dismiss();
break
;
default
:
this
.dismiss();
break
;
}
}
}
|
sytle
<style name="MyDialogStyle" parent="@android:Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
启动方式
ExitDialog exitDialog = new ExitDialog();
exitDialog.show(getSupportFragmentManager(), "");
主要需要继承FragmentActivity
本文详细介绍了如何实现一个退出对话框,并提供了相应的代码片段。包括对话框的基本布局、内容展示、按钮交互以及对话框的显示方式。通过实例演示了如何在Android应用中灵活运用对话框来增强用户体验。

被折叠的 条评论
为什么被折叠?



