編輯:Android開發教程
大家好,今天給大家帶來一個仿360手機衛士懸浮窗效果的教程,在開始之前請允許我說幾句不相干的廢 話。
不知不覺我發現自己接觸Android已有近三個年頭了,期間各種的成長少不了各位高手的幫助, 總是有很多高手喜歡把自己的經驗寫在網上,供大家來學習,我也是從中受惠了很多,在此我深表感謝。可 是我發現我卻從來沒有將自己平時的一些心得拿出來與大家分享,共同學習,太沒有奉獻精神了。於是我痛 定思痛,決定從今天開始寫博客,希望可以指點在我後面的開發者,更快地進入Android開發者的行列當中。
好了,廢話就說這麼多,下面開始進入今天的主題吧。
360手機衛士我相信大家都知道,好多 人手機上都會裝這一款軟件,那麼我們對它的一個桌面懸浮窗效果想必都不會陌生。請看下圖:
首先 是一個小的懸浮窗顯示的是當前使用了百分之多少的內存,點擊一下小懸浮窗,就會彈出一個大的懸浮窗, 可以一鍵加速。好,我們現在就來模擬實現一下類似的效果。
先談一下基本的實現原理,這種桌面懸 浮窗的效果很類似與Widget,但是它比Widget要靈活的多。主要是通過WindowManager這個類來實現的,調用 這個類的addView方法用於添加一個懸浮窗,updateViewLayout方法用於更新懸浮窗的參數,removeView用於 移除懸浮窗。其中懸浮窗的參數有必要詳細說明一下。
WindowManager.LayoutParams這個類用於提供 懸浮窗所需的參數,其中有幾個經常會用到的變量:
type值用於確定懸浮窗的類型,一般設為2002, 表示在所有應用程序之上,但在狀態欄之下。
flags值用於確定懸浮窗的行為,比如說不可聚焦,非 模態對話框等等,屬性非常多,大家可以查看文檔。
gravity值用於確定懸浮窗的對齊方式,一般設為左 上角對齊,這樣當拖動懸浮窗的時候方便計算坐標。
x值用於確定懸浮窗的位置,如果要橫向移動懸 浮窗,就需要改變這個值。
y值用於確定懸浮窗的位置,如果要縱向移動懸浮窗,就需要改變這個值 。
width值用於指定懸浮窗的寬度。
height值用於指定懸浮窗的高度。
創建懸浮窗這 種窗體需要向用戶申請權限才可以的,因此還需要在AndroidManifest.xml中加入<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
近年來,互聯網電視開始火熱,樂視TV,小米TV,最近愛奇藝也在大肆的招人做愛奇藝電視,當然還有更被關注的蘋果電視。其實,這個趨勢很正常,也很合理,傳統單純的接收電視節目的
我們在前面例子Android RoboGuice 使用指南(4):Linked Bindings 時為簡單 起見,定義MyRectangle和MySquare時為它們定義
默認情況下,一個activity占據整個屏幕。然而,可以為一個activity設置一個“對話框”主題,這樣, 它就能像一個浮動的對話框顯示出來了。
一、Service簡介Service是android 系統中的四大組件之一(Activity、Service、BroadcastReceiver、 ContentProv