博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Activity 变成对话框,然后再隐藏?
阅读量:7052 次
发布时间:2019-06-28

本文共 1844 字,大约阅读时间需要 6 分钟。

由于继续需要做一些无感操控的工作,之前也记录了下利用悬浮窗的方法。今天突然发现原来activity可以直接嗯嗯嗯啊。

首先我在AndroidManifest里给activity添加了如下一行:

 

  1. android:theme="@android:style/Theme.Dialog"     

ok,我发现activity变成对话框的弹出模式了。但是背景也就是桌面是变暗的,我希望能恢复正常的亮度,也就是透明的效果,于是继续搜索。

 

发现:

 

  1. android:theme="@android:style/Theme.Translucent"   

这个应该可以让activity变成透明的,但是不能声明两次Theme啊,于是继续找办法,发现,哦,我可以声明style啊。

 

在style 的xml 里 设置如下:

 
  1. <resources>  
  2.     <style name="dialog" parent="@android:style/Theme.Dialog">  
  3.         <item name="android:backgroundDimEnabled">false</item><!--activity不变暗-->  
  4.     </style>  
  5. </resources>  

然后将manifest里改成:

 

  1. android:theme="@style/dialog"  

嗯,继续,我希望没有标题,那么添加

 

  1. <item name="android:windowNoTitle">true</item>  

此时我以为就达到目的了,于是我修改了layout文件的布局大小,宽高都修改成1dp,但是我发现程序运行是屏幕上有个框。。。原来是activity的黑边,我要消掉他。

 

于是

 

  1. <item name="android:windowFrame">@null</item>   

经过不断的修改之后,最后的style.xml就变成了:

 

  1. <resources>  
  2. <style name="dialog" parent="@android:style/Theme.Dialog">  
  3. <item name="android:windowFrame">@null</item><span style="font-family:'Microsoft YaHei'"><!--activity无黑边--></span>  
  4. <item name="android:windowIsFloating">true</item><span style="font-family:'Microsoft YaHei'"><!--activity可滑动--></span>  
  5. <item name="android:windowIsTranslucent">false</item><span style="font-family:'Microsoft YaHei'"><!--activity透明--></span>  
  6. <item name="android:windowNoTitle">true</item><span style="font-family:'Microsoft YaHei'"><!--activity无标题--></span>  
  7. <item name="android:background">@android:color/black</item>  
  8. <item name="android:windowBackground">@null</item>  
  9. <item name="android:backgroundDimEnabled">false</item><span style="font-family:'Microsoft YaHei'"><!--activity不变暗--></span>  
  10. </style>  
  11. </resources>  

现在看起来好多了,但是又发现了一个问题,就是点击activity之外的地方,activity自己就退出了,直接回到了桌面。。。

 

那么onCreate()方法里加上这句 setFinishOnTouchOutside(false);或者在style里添加

 

  1. <item name="android:windowCloseOnTouchOutside">false</item><!-- activity点击空白部分不消失 -->  

(以上不消失activity的方法需要api11以上,版本低的话需要再进行一些函数操作,可参考:)

转载地址:http://whsol.baihongyu.com/

你可能感兴趣的文章
DataGuard 环境rman恢复主库坏块一例
查看>>
交换机真的只工作在第二层吗?
查看>>
15年编程生涯,资深架构师总结的7条经验
查看>>
echo命令
查看>>
图形语言 Kgo
查看>>
兄弟连第10节课
查看>>
调整Virtual Box硬盘大小
查看>>
Windows下Apache服务器中自动配置二级子域名
查看>>
Transform Map - Ignore Row if any fields are empty
查看>>
iEclipse-不只是Eclipse的开发者社区
查看>>
Oracle个人的一些记录
查看>>
20.分屏查看命令 less命令
查看>>
感谢付费客户不覺流年似水(271558528) 对C#ASP.NET通用权限管理组件的改进意见,已修正...
查看>>
android 让 TextView 自带滚动条
查看>>
win2003远程桌面不自动注销,自动锁定时间
查看>>
Shell脚本
查看>>
RPM包管理
查看>>
mdadm--RAID 5
查看>>
服务器的几种时间同步
查看>>
我的友情链接
查看>>