談談沈陽APP開發中如何開啟懸浮窗功能
2024/7/18 15:22:14 瀏覽:292
我們在瀏覽抖音或者快手一些視頻類APP時,有時需要返回手機桌面處理一些事情,比如回復好友的微信信息,如果我們不想關閉當前視頻,就要用到縮放當前視頻到懸浮窗的功能,今天就來分享一下APP開發中開啟懸浮窗的方法,首先我們需要申請懸浮窗的權限,在清單文件AndroidManifest.xml中添加SYSTEM_ALERT_WINDOW的權限,通過Settings的canDrawOverlays方法判斷當前APP能否開啟懸浮窗,如果不能需要跳轉設置頁面手動設置開啟,為了讓懸浮窗能一直顯示在手機屏幕上,我們要用到Service服務,新建一個新的服務FloatingService,我們在服務中通過系統服務WINDOW_SERVICE獲取到懸浮窗管理WindowManager,接著用WindowManager新建一個LayoutParams的布局代理,通過布局代理設置懸浮窗的類型type,待展示的控件,例如一個按鈕BUTTON,給按鈕設置文字、顏色和寬高和位置,最后通過WindowManager的addView方法將懸浮窗控件加入到屏幕上去,最后在活動頁面中啟動這個服務FloatingService。另外如果懸浮窗位置遮擋其他信息時,需要新增拖動功能,可以拖動到其他任意位置,實現的邏輯就是給按鈕BUTTON添加觸摸事件,在onTouch方法中處理移動的距離,同樣調用WindowManager的updateViewLayout方法更新新的位置。