自定义一个类继承自Dialog类,然后在构造方法中,定义这个dialog的布局和一些初始化信息。

01 public class MenuDialog extends Dialog {
02  
03 public MenuDialog(Context context, boolean cancelable,
04             OnCancelListener cancelListener) {
05         super(context, cancelable, cancelListener);
06         // TODO Auto-generated constructor stub
07     }
08  
09     public MenuDialog(Context context, int theme) {
10         super(context, theme);
11         // TODO Auto-generated constructor stub
12     }
13  
14     public MenuDialog(Context context) {
15  
16 //dialog的视图风格
17         super(context, R.style.Theme_Transparent);
18  
19  
20 //设置布局文件
21         setContentView(R.layout.menu_dialog);
22         //setTitle("Custom Dialog");
23  
24 //单击dialog之外的地方,可以dismiss掉dialog。
25         setCanceledOnTouchOutside(true);
26  
27  
28     // 设置window属性
29 //        LayoutParams a = getWindow().getAttributes();
30 //        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
31 //        a.gravity = Gravity.TOP;
32 //        a.dimAmount = 1.0f; // 添加背景遮盖
33 //        getWindow().setAttributes(a);
34          
35         //在下面这种情况下,后台的activity不会被遮盖,也就是只会遮盖此dialog大小的部分
36         LayoutParams a = getWindow().getAttributes();
37         a.gravity = Gravity.TOP;
38         a.dimAmount = 0.0f; // 去背景遮盖
39         getWindow().setAttributes(a);
40  
41  
42  
43  
44 //为你的对话框初始化数据
45         initMenu();
46     }
47  
48

然后再需要此dialog的地方,实例化这个dialog就行了。

另附此对话框的主题:

01 <style name="Theme.Transparent" parent="android:Theme">
02  
03         <item name="android:windowBackground">@drawable/dialog_box_2</item>//此对话框的背景
04         <item name="android:windowIsTranslucent">true</item>//对话框是否透明
05         <item name="android:windowContentOverlay">@null</item>//对话框是否有遮盖
06         <item name="android:windowNoTitle">true</item>//对话框无标题
07         <item name="android:windowIsFloating">true</item>//对话框是否浮动
08         <item name="android:backgroundDimEnabled">false</item>
09  
10 </style>

文章出处:http://blog.csdn.net/ooo4561213/article/details/6655748

总结如何实现Android浮动层,主要是dialog的使用的更多相关文章

  1. [转]【C#】分享一个弹出浮动层,像右键菜单那样召即来挥则去

    适用于:.net2.0+ Winform项目 背景: 有时候我们需要开一个简单的窗口来做一些事,例如输入一些东西.点选一个item之类的,可能像这样: 完了返回原窗体并获取刚刚的输入,这样做并没有什么 ...

  2. Android浮动窗口的实现

    1.浮动窗口的实现原理 看到上图的那个小Android图标了吧,它不会被其他组建遮挡,也可以响应用户的点击和拖动事件,它的显示和消失由WindowManager直接管理,它就是Android浮动窗口. ...

  3. 〖Android〗OK6410a的Android HAL层代码编写笔记

    一.编写LED灯的Linux驱动程序代码 之所以使用存在HAL层,是为了保护对硬件驱动过程的逻辑与原理: 所以,残留在Linux驱动层的代码,只保留了基本的读写操作,而不含有关键的逻辑思维: 1. l ...

  4. 【Win 10应用开发】自定义浮动层——Flyout

    最近几天总是下雨,真是“何处秋窗无雨声”,也“不知风雨几时休”. 好,进入正题. 弹出层有三种. 第一种是ContentDialog,即内容对话框,它其实类似于模态对话框,弹出后会覆盖整个窗口区域,并 ...

  5. Android 各层调用的方式

    所有的android的app启动都有三种深入启动的方式: ①app——Runtime Service——Lib 这种启动方式是: Ⅰapp程序中启动application framework 层中Ru ...

  6. js div浮动层拖拽效果代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. CSS中应用position的absolute和relative的属性制作浮动层

    我的浮动层结构大概如下: <div id="father"> <div id="son"> </div> </div& ...

  8. android浮动搜索框

    android浮动搜索框的配置比较繁琐,需要配置好xml文件才能实现onSearchRequest()方法. 1.配置搜索的XML配置文件​,新建文件searchable.xml,保存在res/xml ...

  9. JS随鼠标坐标移动,显示浮动层内容

    在表单等项目中往往会遇到类似于“备注”.“说明”等100个字内的内容需要显示. 这些内容如果全部呈现开,会影响布局和美观,确又没有必要设计一个层或是一个页面. 那么,我们可以把这些内容放到浮动层中,鼠 ...

随机推荐

  1. leetcode面试准备:Lowest Common Ancestor of a Binary Search Tree & Binary Tree

    leetcode面试准备:Lowest Common Ancestor of a Binary Search Tree & Binary Tree 1 题目 Binary Search Tre ...

  2. SQL中Case When的使用方法

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex ' THEN '男' ' THEN '女' ELSE '其他' END       --Case搜索 ...

  3. Is the Information Reliable?(差分约束)

    Description The galaxy war between the Empire Draco and the Commonwealth of Zibu broke out 3 years a ...

  4. MySQL源码之Thread cache

    MySQL server为每一个connection建立一个thread为其服务,虽然thread create比着fork process代价高,单高并发的情况下,也不可忽略. 所以增加了Threa ...

  5. JAVADOC时候乱码-编码 GBK 的不可映射字符

    1,在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步.在Javadoc Generation对话框中有两个地方要注意的:ja ...

  6. 如何编译Support7Demos测试appcompat

    目录(?)[-] 简介 在Eclipse中编译 使用Gradle编译 简介 Google发布的API-18中带上的support-v7包含了appcompat组件,可以在小于API-11的androi ...

  7. Makefile 自动生成依赖

    虽然以前对Makefile有个基本概念,但是真正到自己去写一个哪怕是简单的Makefile时也会遇到不少的麻烦.    现在我有如下文件 dList.h dList.c memory.c debug. ...

  8. 30个最常用css选择器解析

    转自:http://www.cnblogs.com/yiyuanke/archive/2011/10/22/CSS.html 你也许已经掌握了id.class.后台选择器这些基本的css选择器.但这远 ...

  9. 如何删除MyEclipse(eclipse)中不需要的workspace

    在安装目录下,打开eclipse/configuration/.settings,用记事本打开org.eclipse.ui.ide.prefs文件 #Wed Mar 11 14:41:21 CST 2 ...

  10. 【转】从QA到EP

    从QA到EP 两三年以前,和友人谈到 QA(软件质量保证) 这个行业,还有 QA 这个团队的未来,就有了一丝忧虑.而现在,终于有机会实践一下自己之前的想法,在这里分享给大家. 从我有限的从业经验到现在 ...