自定义一个类继承自Dialog类,然后在构造方法中,定义这个dialog的布局和一些初始化信息。
01 |
public class MenuDialog extends Dialog { |
03 |
public MenuDialog(Context context, boolean cancelable, |
04 |
OnCancelListener cancelListener) { |
05 |
super(context, cancelable, cancelListener); |
06 |
// TODO Auto-generated constructor stub |
09 |
public MenuDialog(Context context, int theme) { |
10 |
super(context, theme); |
11 |
// TODO Auto-generated constructor stub |
14 |
public MenuDialog(Context context) { |
17 |
super(context, R.style.Theme_Transparent); |
21 |
setContentView(R.layout.menu_dialog); |
22 |
//setTitle("Custom Dialog"); |
24 |
//单击dialog之外的地方,可以dismiss掉dialog。 |
25 |
setCanceledOnTouchOutside(true); |
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); |
35 |
//在下面这种情况下,后台的activity不会被遮盖,也就是只会遮盖此dialog大小的部分 |
36 |
LayoutParams a = getWindow().getAttributes(); |
37 |
a.gravity = Gravity.TOP; |
38 |
a.dimAmount = 0.0f; // 去背景遮盖 |
39 |
getWindow().setAttributes(a); |
然后再需要此dialog的地方,实例化这个dialog就行了。
另附此对话框的主题:
01 |
<style name="Theme.Transparent" parent="android:Theme"> |
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> |
文章出处:http://blog.csdn.net/ooo4561213/article/details/6655748
- [转]【C#】分享一个弹出浮动层,像右键菜单那样召即来挥则去
适用于:.net2.0+ Winform项目 背景: 有时候我们需要开一个简单的窗口来做一些事,例如输入一些东西.点选一个item之类的,可能像这样: 完了返回原窗体并获取刚刚的输入,这样做并没有什么 ...
- Android浮动窗口的实现
1.浮动窗口的实现原理 看到上图的那个小Android图标了吧,它不会被其他组建遮挡,也可以响应用户的点击和拖动事件,它的显示和消失由WindowManager直接管理,它就是Android浮动窗口. ...
- 〖Android〗OK6410a的Android HAL层代码编写笔记
一.编写LED灯的Linux驱动程序代码 之所以使用存在HAL层,是为了保护对硬件驱动过程的逻辑与原理: 所以,残留在Linux驱动层的代码,只保留了基本的读写操作,而不含有关键的逻辑思维: 1. l ...
- 【Win 10应用开发】自定义浮动层——Flyout
最近几天总是下雨,真是“何处秋窗无雨声”,也“不知风雨几时休”. 好,进入正题. 弹出层有三种. 第一种是ContentDialog,即内容对话框,它其实类似于模态对话框,弹出后会覆盖整个窗口区域,并 ...
- Android 各层调用的方式
所有的android的app启动都有三种深入启动的方式: ①app——Runtime Service——Lib 这种启动方式是: Ⅰapp程序中启动application framework 层中Ru ...
- js div浮动层拖拽效果代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- CSS中应用position的absolute和relative的属性制作浮动层
我的浮动层结构大概如下: <div id="father"> <div id="son"> </div> </div& ...
- android浮动搜索框
android浮动搜索框的配置比较繁琐,需要配置好xml文件才能实现onSearchRequest()方法. 1.配置搜索的XML配置文件,新建文件searchable.xml,保存在res/xml ...
- JS随鼠标坐标移动,显示浮动层内容
在表单等项目中往往会遇到类似于“备注”.“说明”等100个字内的内容需要显示. 这些内容如果全部呈现开,会影响布局和美观,确又没有必要设计一个层或是一个页面. 那么,我们可以把这些内容放到浮动层中,鼠 ...
随机推荐
- ASP.NET MVC 解决LINQ表达式中的SqlMethods 未找到命名空间问题
右键项目属性下的引用: 添加引用: 搜索寻找——System.Data.Linq,然后添加成功,即可解决LINQ表达式中的SqlMethods 未找到命名空间问题
- PLSQL调用webservice
1. 用途简介 为什么要在Oracle中访问WebService?在系统实现中,有时会有直接在数据库端利用触发器.存储过程等方式进行数据传递.分发的业务,而其中可能会涉及一些业务逻辑,为了处理 ...
- CentOS 如何将.deb 文件 转换.rpm
CentOS 如何将.deb 文件 转换.rpm [root@localhost tmp]#tar zxvf alien_8.88.tar.gz [root@localhost alien]#perl ...
- POJ_3662_Telephone_Lines_(二分+最短路)
描述 http://poj.org/problem?id=3662 给一张图,要将1与n连起来.可以有k条边免费,其他边自费,付费的值为所有自费边中最大的值.求最小付费. Telephone Line ...
- 利用spm提供的MoAEpilot听觉数据学习预处理以及单被试glm分析与统计推断
1.数据介绍 下载:http://www.fil.ion.ucl.ac.uk/spm/data/auditory/ SUBJECT:1 VOLUME: 64*64*64 TR:7s total acq ...
- HDOJ --- 1160
FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- ASPNETMVC多语言方案
ASPNETMVC多语言方案 前言: 好多年没写文章了,工作很忙,天天加班, 每天都相信不用多久,就会升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰,想想还有点小激动~~~~ 直到后来发生 ...
- [洛谷U871]building
题目来源:http://www.luogu.org/problem/show?pid=U871# [题目背景 Background] WOW是BLIZZARD公司开发的一款网络游戏,游戏的背景是处在一 ...
- POJ 3186Treats for the Cows (区间DP)
详见代码 #include <stdio.h> #include <algorithm> #include <string.h> using namespace s ...
- JavaScript高级程序设计26.pdf
DOM操作技术 动态脚本 指得是页面加载时不存在,但将来的某一时刻通过修改DOM动态添加的脚本,跟操作HTML元素一样,创建动态脚本也有2种方式:插入外部文件和直接插入JavaScript代码 var ...