Activity 变成对话框,然后再隐藏?
2013-11-06 13:23
316 查看
由于继续需要做一些无感操控的工作,之前也记录了下利用悬浮窗的方法。今天突然发现原来activity可以直接嗯嗯嗯啊。
首先我在AndroidManifest里给activity添加了如下一行:
ok,我发现activity变成对话框的弹出模式了。但是背景也就是桌面是变暗的,我希望能恢复正常的亮度,也就是透明的效果,于是继续搜索。
发现:
这个应该可以让activity变成透明的,但是不能声明两次Theme啊,于是继续找办法,发现,哦,我可以声明style啊。
在style 的xml 里 设置如下:
然后将manifest里改成:
嗯,继续,我希望没有标题,那么添加
此时我以为就达到目的了,于是我修改了layout文件的布局大小,宽高都修改成1dp,但是我发现程序运行是屏幕上有个框。。。原来是activity的黑边,我要消掉他。
于是
经过不断的修改之后,最后的style.xml就变成了:
现在看起来好多了,但是又发现了一个问题,就是点击activity之外的地方,activity自己就退出了,直接回到了桌面。。。
那么onCreate()方法里加上这句 setFinishOnTouchOutside(false);或者在style里添加:
(以上不消失activity的方法需要api11以上,版本低的话需要再进行一些函数操作,可参考:http://blog.csdn.net/voiceofnet/article/details/9061309)
首先我在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><!-- activity无黑边 --> <item name="android:windowIsFloating">true</item><!-- activity可滑动 --> <item name="android:windowIsTranslucent">false</item><!-- activity透明 --> <item name="android:windowNoTitle">true</item><!-- activity无标题 --> <item name="android:background">@android:color/black</item> <item name="android:windowBackground">@null</item> <item name="android:backgroundDimEnabled">false</item><!-- activity不变暗 -->
</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 变成对话框,然后再隐藏?
- Activity 变成对话框,然后再隐藏?
- [WPF Bug清单]之(5)——隐藏模态对话框后变成非模态
- Android开发学习笔记之将Activity变成半透明对话框
- Android使用Activity用作弹出式对话框
- Android 中自定义Dialog样式的Activity点击空白处隐藏软键盘功能(dialog不消失)
- 隐藏基于对话框的MFC应用程序窗口的方法
- 悬浮在activity上的activity半透明对话框
- 使用Activity用作弹出式对话框-----对话框不仅仅是Dialog,PopupWindow-----防微信对话框效果
- 先弹出对话框,然后跳转页面
- 对话框和浮动Activity
- 1.2.4 MFC中使对话框变成圆角矩形、椭圆的代码
- C# 对话框隐藏 标题栏
- Activity以对话框Dialog形式展现(显示大图)
- 对话框的隐藏
- IE上载Office2007文件时在上载对话框中变成ZIP文件有关问题的解决
- 在启动Activity时,如何隐藏输入法
- 继承AppCompatActivity的Activity无法隐藏标题栏
- Activity标题(title)的显示和隐藏
- 【转】在Asp.net中弹出对话框,然后跳转到其他页面问题