自定义一个类继承自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. 【CF】310 Div.1 C. Case of Chocolate

    线段树的简单题目,做一个离散化,O(lgn)可以找到id.RE了一晚上,额,后来找到了原因. /* 555C */ #include <iostream> #include <str ...

  2. USACO3.35A Game(记忆化)

    刚开始理解有点误,想成每步都是最优的 ,结果卡在第六组数据上,, 无奈瞧了下别人的 发现自己理解错了,,我看的还是中文翻译.. 简单的记忆化 /* ID: shangca2 LANG: C++ TAS ...

  3. MySQL源码之Thread cache

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

  4. 汉企C#面向对象——继承

    public class Shengwu { private string _Name; public string Name { get { return _Name; } set { _Name ...

  5. JSOI2015 Round1——完挂

    感觉眼前天地转了转…… Day 0 和zxy,zyh一同坐车去扬中,同行的还有llr 路上zyh基本在睡觉…… 入住的宾馆各种坑爹,同一层住的两个房间一个有网一个没网 我有幸入住了有网的房间,zyh在 ...

  6. bzoj1449

    竞赛图一般是把每场比赛当作一个点,然后和相应球队连边每场比赛一赢一输对两支球队都有影响看起来不好搞实际上我们可以先假设参加后面后面所有球队都输(每场比赛双输)然后对每场比赛我们选择一支球队赢计算增加的 ...

  7. 【转】你应该知道的十个VirtualBox技巧与高级特性

    原文网址:http://www.searchvirtual.com.cn/showcontent_76463.htm VirtualBox集成的许多功能你可能从来没有使用过,即使你经常用它来运行虚拟机 ...

  8. ARM学习笔记9——ARM汇编汇编语言中的伪指令

    ARN汇编器支持ARM伪指令,这些伪指令在汇编阶段被翻译成ARM或Thumb指令.ARM伪指令包含ADR.ADRL.MOV32和LDR.一.ADR伪指令 1.作用 ADR是小范围地址读取伪指令,基于P ...

  9. bzoj 1027 [JSOI2007]合金(计算几何+floyd最小环)

    1027: [JSOI2007]合金 Time Limit: 4 Sec  Memory Limit: 162 MBSubmit: 2970  Solved: 787[Submit][Status][ ...

  10. puppet任务计划