Activity 變成對話框,然后再隱藏?


由於繼續需要做一些無感操控的工作,之前也記錄了下利用懸浮窗的方法。今天突然發現原來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://blog.csdn.net/voiceofnet/article/details/9061309


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM