自定义一个类继承自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. ASP.NET MVC 解决LINQ表达式中的SqlMethods 未找到命名空间问题

    右键项目属性下的引用: 添加引用: 搜索寻找——System.Data.Linq,然后添加成功,即可解决LINQ表达式中的SqlMethods 未找到命名空间问题

  2. PLSQL调用webservice

      1.   用途简介 为什么要在Oracle中访问WebService?在系统实现中,有时会有直接在数据库端利用触发器.存储过程等方式进行数据传递.分发的业务,而其中可能会涉及一些业务逻辑,为了处理 ...

  3. CentOS 如何将.deb 文件 转换.rpm

    CentOS 如何将.deb 文件 转换.rpm [root@localhost tmp]#tar zxvf alien_8.88.tar.gz [root@localhost alien]#perl ...

  4. POJ_3662_Telephone_Lines_(二分+最短路)

    描述 http://poj.org/problem?id=3662 给一张图,要将1与n连起来.可以有k条边免费,其他边自费,付费的值为所有自费边中最大的值.求最小付费. Telephone Line ...

  5. 利用spm提供的MoAEpilot听觉数据学习预处理以及单被试glm分析与统计推断

    1.数据介绍 下载:http://www.fil.ion.ucl.ac.uk/spm/data/auditory/ SUBJECT:1 VOLUME: 64*64*64 TR:7s total acq ...

  6. HDOJ --- 1160

    FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  7. ASPNETMVC多语言方案

    ASPNETMVC多语言方案 前言: 好多年没写文章了,工作很忙,天天加班, 每天都相信不用多久,就会升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰,想想还有点小激动~~~~ 直到后来发生 ...

  8. [洛谷U871]building

    题目来源:http://www.luogu.org/problem/show?pid=U871# [题目背景 Background] WOW是BLIZZARD公司开发的一款网络游戏,游戏的背景是处在一 ...

  9. POJ 3186Treats for the Cows (区间DP)

    详见代码 #include <stdio.h> #include <algorithm> #include <string.h> using namespace s ...

  10. JavaScript高级程序设计26.pdf

    DOM操作技术 动态脚本 指得是页面加载时不存在,但将来的某一时刻通过修改DOM动态添加的脚本,跟操作HTML元素一样,创建动态脚本也有2种方式:插入外部文件和直接插入JavaScript代码 var ...