Activity 变成对话框,然后再隐藏?
由于继续需要做一些无感操控的工作,之前也记录了下利用悬浮窗的方法。今天突然发现原来activity可以直接嗯嗯嗯啊。
首先我在AndroidManifest里给activity添加了如下一行:
- android:theme="@android:style/Theme.Dialog"
ok,我发现activity变成对话框的弹出模式了。但是背景也就是桌面是变暗的,我希望能恢复正常的亮度,也就是透明的效果,于是继续搜索。
发现:
- android:theme="@android:style/Theme.Translucent"
这个应该可以让activity变成透明的,但是不能声明两次Theme啊,于是继续找办法,发现,哦,我可以声明style啊。
在style 的xml 里 设置如下:
- <resources>
- <style name="dialog" parent="@android:style/Theme.Dialog">
- <item name="android:backgroundDimEnabled">false</item><!--activity不变暗-->
- </style>
- </resources>
然后将manifest里改成:
- android:theme="@style/dialog"
嗯,继续,我希望没有标题,那么添加
- <item name="android:windowNoTitle">true</item>
此时我以为就达到目的了,于是我修改了layout文件的布局大小,宽高都修改成1dp,但是我发现程序运行是屏幕上有个框。。。原来是activity的黑边,我要消掉他。
于是
- <item name="android:windowFrame">@null</item>
经过不断的修改之后,最后的style.xml就变成了:
- <resources>
- <style name="dialog" parent="@android:style/Theme.Dialog">
- <item name="android:windowFrame">@null</item><span style="font-family:'Microsoft YaHei'"><!--activity无黑边--></span>
- <item name="android:windowIsFloating">true</item><span style="font-family:'Microsoft YaHei'"><!--activity可滑动--></span>
- <item name="android:windowIsTranslucent">false</item><span style="font-family:'Microsoft YaHei'"><!--activity透明--></span>
- <item name="android:windowNoTitle">true</item><span style="font-family:'Microsoft YaHei'"><!--activity无标题--></span>
- <item name="android:background">@android:color/black</item>
- <item name="android:windowBackground">@null</item>
- <item name="android:backgroundDimEnabled">false</item><span style="font-family:'Microsoft YaHei'"><!--activity不变暗--></span>
- </style>
- </resources>
现在看起来好多了,但是又发现了一个问题,就是点击activity之外的地方,activity自己就退出了,直接回到了桌面。。。
那么onCreate()方法里加上这句 setFinishOnTouchOutside(false);或者在style里添加
- <item name="android:windowCloseOnTouchOutside">false</item><!-- activity点击空白部分不消失 -->
(以上不消失activity的方法需要api11以上,版本低的话需要再进行一些函数操作,可参考:http://blog.csdn.net/voiceofnet/article/details/9061309)
Activity 变成对话框,然后再隐藏?的更多相关文章
- Android开发,在Activity启动时,默认隐藏软键盘。和遮挡Edittext时的处理
在Activity启动时,默认隐藏软键盘: 在AndroidManifest.xml中找到你得Activity ,为它添加属性: android:windowSoftInputMode="s ...
- ASP.Net后台 实现先弹出对话框,再跳转到另一个网页的实现方法
解决办法如下: Response.Write("<script>alert('想在对话框中显示的内容');window.navigate(‘要转到的页面的URL’)</sc ...
- 当Activity继承AppCompatActivity如何实现隐藏标题栏与状态栏
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); g ...
- js 页面按钮提交后 创建显示loading div 操作完成后 再隐藏或删除 进度div
预期效果: 1.点击Save按钮,创建及显示loading div框 2.Save操作完成后,再删除loading 及弹出提示结果 <html> <head> </hea ...
- 解决设置了display:none的元素,会先展示再隐藏
问题:元素明明设置了display:none,但是在刷新页面的时候却会先显示了出来,然后才会隐藏,实现display:none 原因:由于元素渲染的时候,样式还没有应用上去,导致的 解决办法:使用内联 ...
- js实现点击切换显示隐藏,点击其它位置再隐藏
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- android 开发 实现一个activity变成dialog对话框
效果图: 首先说说为什么需要大费周章的去用activity实现一个dialog,明明android系统已经提供了一个更方便的dialog了.原因如下: 1.activity模式的dialog可以实现更 ...
- 控制对话框风格的activity的显示大小与位置
项目开发的需要,因为到现在项目接近完工,用户提出对条件筛选方式进行修改,为做到最小的改动实现用户的需求,各种百度,对于对话框风格大家普遍使用PopupWindow,但由于之前开发设计时使用的是acti ...
- [Android]对话框样式Activity获得窗口外点击事件
Dialog除了使用Dialog类来实现之外,还可以使用Dialog样式的Activity来实现,只需要在注册Activity时指明theme为adnroid:Theme.Dialog就行,这样的Di ...
随机推荐
- LintCode: Valid Parentheses
C++ stack<char|int|string>, push(), pop(), top(), empty(), size() class Solution { public: /** ...
- app_offline.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DT ...
- 动态加载jar包(二)
上次说的加载jar包,有几个问题没有解决: 1.如果项目包含了其他的jar包如何解决? 2.如何规范上传的jar包的类和方法? 下面就解决一下上面两个问题 一.首先编写被调用的类,这次使用maven工 ...
- 安装 mysql-5.6.4-m7
1.首先下载:http://cdn1.mydown.yesky.com/soft/201403/mysql-5.6.4-m7.tar.gz 2.解压,进入目录,执行cmake ./(如果没有cmake ...
- Android 手把手带你玩转自己定义相机
本文已授权微信公众号<鸿洋>原创首发,转载请务必注明出处. 概述 相机差点儿是每一个APP都要用到的功能,万一老板让你定制相机方不方?反正我是有点方. 关于相机的两天奋斗总结免费送给你. ...
- MongoDB分片配置系列一:
接这篇博客: http://www.cnblogs.com/xiaoit/p/4479066.html 这里不再说明安装过程. 1:分片简介 分片是一种将海量的数据水平扩展的数据库集群系统,数据分表存 ...
- golang 垃圾回收机制
用任何带 GC 的语言最后都要直面 GC 问题.在以前学习 C# 的时候就被迫读了一大堆 .NET Garbage Collection 的文档.最近也学习了一番 golang 的垃圾回收机制,在这里 ...
- ThreadLocal MDC
因为MDC底层是用ThreadLocal实现的,所以这里补充一些和ThreadLocal相关的知识点. 1.ThreadLocal的三个层次 关于ThreadLocal有三个层次,可以按照这三个层次去 ...
- 【shell】创建长目录,目录存在则忽略,缺失则创建
有时候,我们需要创建一个空目录树,如果给定路径包含目录,那么还必须检查这些目录是否存在: mkdir –p /qinys/oliver/tmp/ 执行上述命令即可创建长目录,并且有则忽略,无则创建原则 ...
- Publish to a Linux Production Environment
Publish to a Linux Production Environment By Sourabh Shirhatti In this guide, we will cover setting ...