总结如何实现Android浮动层,主要是dialog的使用
2014-04-15 15:30
197 查看
自定义一个类继承自Dialog类,然后在构造方法中,定义这个dialog的布局和一些初始化信息。
public class MenuDialog extends Dialog {
public MenuDialog(Context context, boolean cancelable,
OnCancelListener cancelListener) {
super(context, cancelable, cancelListener);
// TODO Auto-generated constructor stub
}
public MenuDialog(Context context, int theme) {
super(context, theme);
// TODO Auto-generated constructor stub
}
public MenuDialog(Context context) {
//dialog的视图风格
super(context, R.style.Theme_Transparent);
//设置布局文件
setContentView(R.layout.menu_dialog);
//setTitle("Custom Dialog");
//单击dialog之外的地方,可以dismiss掉dialog。
setCanceledOnTouchOutside(true);
// 设置window属性
// LayoutParams a = getWindow().getAttributes();
// getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
// a.gravity = Gravity.TOP;
// a.dimAmount = 1.0f; // 添加背景遮盖
// getWindow().setAttributes(a);
//在下面这种情况下,后台的activity不会被遮盖,也就是只会遮盖此dialog大小的部分
LayoutParams a = getWindow().getAttributes();
a.gravity = Gravity.TOP;
a.dimAmount = 0.0f; // 去背景遮盖
getWindow().setAttributes(a);
//为你的对话框初始化数据
initMenu();
}
}
然后再需要此dialog的地方,实例化这个dialog就行了。
另附此对话框的主题:
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowBackground">@drawable/dialog_box_2</item>//此对话框的背景
<item name="android:windowIsTranslucent">true</item>//对话框是否透明
<item name="android:windowContentOverlay">@null</item>//对话框是否有遮盖
<item name="android:windowNoTitle">true</item>//对话框无标题
<item name="android:windowIsFloating">true</item>//对话框是否浮动
<item name="android:backgroundDimEnabled">false</item><!--屏幕背景不变暗-->
</style>
public class MenuDialog extends Dialog {
public MenuDialog(Context context, boolean cancelable,
OnCancelListener cancelListener) {
super(context, cancelable, cancelListener);
// TODO Auto-generated constructor stub
}
public MenuDialog(Context context, int theme) {
super(context, theme);
// TODO Auto-generated constructor stub
}
public MenuDialog(Context context) {
//dialog的视图风格
super(context, R.style.Theme_Transparent);
//设置布局文件
setContentView(R.layout.menu_dialog);
//setTitle("Custom Dialog");
//单击dialog之外的地方,可以dismiss掉dialog。
setCanceledOnTouchOutside(true);
// 设置window属性
// LayoutParams a = getWindow().getAttributes();
// getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
// a.gravity = Gravity.TOP;
// a.dimAmount = 1.0f; // 添加背景遮盖
// getWindow().setAttributes(a);
//在下面这种情况下,后台的activity不会被遮盖,也就是只会遮盖此dialog大小的部分
LayoutParams a = getWindow().getAttributes();
a.gravity = Gravity.TOP;
a.dimAmount = 0.0f; // 去背景遮盖
getWindow().setAttributes(a);
//为你的对话框初始化数据
initMenu();
}
}
然后再需要此dialog的地方,实例化这个dialog就行了。
另附此对话框的主题:
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowBackground">@drawable/dialog_box_2</item>//此对话框的背景
<item name="android:windowIsTranslucent">true</item>//对话框是否透明
<item name="android:windowContentOverlay">@null</item>//对话框是否有遮盖
<item name="android:windowNoTitle">true</item>//对话框无标题
<item name="android:windowIsFloating">true</item>//对话框是否浮动
<item name="android:backgroundDimEnabled">false</item><!--屏幕背景不变暗-->
</style>
相关文章推荐
- 总结如何实现Android浮动层,主要是dialog的使用
- 总结如何实现Android浮动层,主要是dialog的使用。
- 总结如何实现Android浮动层,主要是dialog的使用。
- 总结如何实现浮动层,主要是dialog的使用。
- 总结如何实现浮动层,主要是dialog的使用。
- 自定义Dialog,如何实现浮动层,主要是dialog浮动在窗体上
- Android-如何在任意位置获取context,来实现Toast的快捷使用?
- Android中如何使用ViewPager实现类似laucher左右拖动效果
- Android Gradle 常用使用场景实现方式的总结
- 如何使用Android实现接口实信息在留言板显示
- 使用ANT编译--实现外部传参(多渠道替换)、批处理打包------第二步什么是ANT,如何使用ANT命令为Android项目打包
- Android提高篇之自定义dialog实现processDialog“正在加载”效果、使用Animation实现图片旋转
- android json解析使用总结(二)-—天气预报的实现
- android中使用Dialog实现目录选择器
- JAVA多线程实现和应用总结:如何使用有返回值的多线程
- android json解析使用总结(三) — 三级城市联动的实现
- Android开发丶使用DialogFragment实现炫酷的登录界面并实现DialogFragment与宿主Activity的通信
- 如何在IOS中使用实现Android view.gone 功能(swift版)cell(两种不同的布局)
- android json解析使用总结(二)-—天气预报的实现
- 如何使用androidpn实现android手机消息推送(简单的源码分析)