] 通过FramentDialog实现 Android 4.0风格的通用 dialog,你怎么看?
来源:互联网 发布:警惕网络陷阱ppt 编辑:程序博客网 时间:2024/06/07 01:58
主界面
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
- ] 通过FramentDialog实现 Android 4.0风格的通用 dialog,你怎么看?
- Android 实现Windows风格的Dialog
- Android实现Windows风格的Dialog
- android通用的Dialog
- 实现Dialog风格的Activity
- Android Material 风格的 Dialog
- Android 通用Dialog的写法
- android回调是怎么实现的? --以自定义Dialog为例
- [Android] Material 风格的 Dialog 的使用
- [Android] Material 风格的 Dialog 的使用
- [Android] Material 风格的 Dialog 的使用
- 【Android】自定义风格的各种dialog
- 仿ios9风格的Android 分享dialog
- Android:自定义Material Design风格的Dialog
- Android:自定义Material Design风格的Dialog
- 【Android】通过PopupWindow实现浏览器风格的下拉菜单
- Android打造通用标题栏——让你的App统一标题栏风格
- Android 自定义通用Dialog的封装
- 黑马程序员---异常处理机制
- OK6410预览并实现截图操作(RGB565)
- 支持截图,本地图片文件粘贴上传,word含图片文档上传等功能的富文本编辑器,推荐
- 多分组 多主题 跨分组模板文件引用问题
- 支持中文的basename
- ] 通过FramentDialog实现 Android 4.0风格的通用 dialog,你怎么看?
- MySql中的字符类型---varchar类型
- 黑马程序员--ssh框架搭建
- c++ new和括号的问题
- makefile详解
- 跟着自己的感觉走
- vs2012 中 std::regex 竟然是线程不安全的
- Ogre粒子系统 以及 粒子脚本
- Mac上网络状况检测软件破解版