自定义一个类继承自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. [Mac]使用xcode命令行编译protobuf

    因为不想每次测试与画面显示无关的小功能时把cocos2dx包含进去,所以改用xcode的command line tool直接建立c++项目. 方法: 1.点击file-new-project,选择o ...

  2. C语言实现定积分求解方法

    求定积分的方法有很多种,下面是我总结的几种比较常用的方法. #include <stdio.h> #include <stdlib.h> #include <math.h ...

  3. INFORMATION_SCHEMA.INNODB_TRX 详解

    从192.168.11.186 上登录 192.168.11.185 数据库: root 13246 547 0 13:39 pts/1 00:00:00 mysql -uroot -px xxxxx ...

  4. statspack系列6

    原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-6/ 作者:Jonathan Lewis 下面是一段时间以前网 ...

  5. Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞(CVE-2013-4350)

    漏洞版本: Linux kernel 漏洞描述: BUGTRAQ ID: 62405 CVE(CAN) ID: CVE-2013-4350 Linux Kernel是Linux操作系统的内核. Lin ...

  6. Docker在云环境中的应用实践初探:优势、局限性与效能评测

    作者 商之狄 发布于 2014年11月10日 本文依据笔者所在团队的一些近期开发和应用的实践,整理出一些有意义的信息,拿出来和社区分享.其中既包括在云端应用Docker与相关技术的讨论,同时也有实施过 ...

  7. 通过新的 Azure 媒体服务资源管理器工具管理媒体工作流

    Xavier Pouyat    Azure 媒体服务高级项目经理 几个月前,一家广播公司找到了我,希望我向他们提供一种图形界面工具,好让他们使用 Azure媒体服务来上传.管理资产并对资产进行编 ...

  8. spm_预处理实验记录

    参考:<SPM8 MANNUAL> Chapter 28 Auditory fMRI data

  9. android报错——java.lang.ClassNotFoundException[android]

    E/AndroidRuntime(1875): Caused by: java.lang.ClassNotFoundException:XXXXX    in loader dalvik.system ...

  10. http Error 503 server unavailable

    服务器的环境为: 系统:Windows server 2008 64位 数据库:Oracle 10g WEB应用服务:IIS 7.0+.Net Framework 4.0 无法打开服务元数据库路径“/ ...