因爲繼續須要作一些無感操控的工做,以前也記錄了下利用懸浮窗的方法。今天忽然發現原來activity能夠直接嗯嗯嗯啊。java
首先我在AndroidManifest裏給activity添加了以下一行:android
android:theme="@android:style/Theme.Dialog"
ok,我發現activity變成對話框的彈出模式了。可是背景也就是桌面是變暗的,我但願能恢復正常的亮度,也就是透明的效果,因而繼續搜索。api
發現:ide
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裏改爲:spa
android:theme="@style/dialog"
嗯,繼續,我但願沒有標題,那麼添加
.net
<item name="android:windowNoTitle">true</item>
此時我覺得就達到目的了,因而我修改了layout文件的佈局大小,寬高都修改爲1dp,可是我發現程序運行是屏幕上有個框。。。原來是activity的黑邊,我要消掉他。
code
因而orm
<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)