Android中的懸浮框
懸浮窗其實在移動平臺的使用中會經常的遇到,無論是系統自帶的懸浮窗,還是影片軟體的退出時出現的懸浮窗,無論是聊天軟體的通話懸浮窗,還是各大管家軟體為了清理後臺的懸浮窗,都會經常性的出現在我們的生活使用當中
而其實,寫一個懸浮窗也是一件不難的事情
首先,我們需要判斷申請了相關的許可權
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
然後在程式碼中需要判斷,使用者是否給予了我們的軟體相關的許可權
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (!Settings.canDrawOverlays(this)) { Toast.makeText(this, "暫無懸浮窗許可權,請授權", Toast.LENGTH_SHORT) GlobalDialogSingle( this, "", "請開啟懸浮窗許可權", "去開啟" ) { dialog, which -> dialog.dismiss() startActivityForResult( Intent( Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:$packageName") ), 0 ) }.show() } else { moveTaskToBack(true)//讓程式退往後臺,讓懸浮窗進入前臺 val intent = Intent(this@MainActivity, FloatServices::class.java) hasBind = bindService(intent, ServiceCon, BIND_AUTO_CREATE) } }
而FloatServices需要繼承service,並在其中處理懸浮窗的各種事件和顯示處理
@Nullable @Override public IBinder onBind(Intent intent) { showWindow();//懸浮窗顯示事件 ClickFloat();//處理點選事件 return new MyBinder(); }
懸浮窗相關引數
private void showWindow() { winManager = (WindowManager) getApplication().getSystemService(Context); wmParams = getParams(); wmParams.gravity = Gravity.RIGHT| Gravity.TOP; wmParams.x = winManager.getDefaultDisplay().getWidth(); wmParams.y = 500; inflater = LayoutInflater.from(getApplicationContext()); mFloatingLayout = inflater.inflate(R.layout.remoteview, null); winManager.addView(mFloatingLayout, wmParams); }
點選事件
private void ClickFloat() { //在這其中處理懸浮窗的點選或者移動事件 }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2732595/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android桌面懸浮框Android
- Android懸浮框的實現Android
- android懸浮框(service形式)Android
- Android 懸浮框實現方法Android
- Android懸浮框的適配問題Android
- Android通過WindowManager實現懸浮框Android
- Android 懸浮窗Android
- 如何在Android中實現懸浮ActivityAndroid
- 懸浮窗的一種實現 | Android懸浮窗Window應用Android
- Android懸浮窗的學習Android
- Android:會呼吸的懸浮氣泡Android
- Android 懸浮視窗的實現Android
- 自制懸浮框,愉快地檢視棧頂 Activity
- Android 懸浮窗 System Alert WindowAndroid
- 菜鳥學JS(三)——自動隱藏的懸浮框JS
- 滑鼠懸浮可以伸縮的搜尋框程式碼例項
- vivo系統無許可權開啟懸浮框的問題
- Android 攝像頭預覽懸浮窗Android
- Android仿微信文章懸浮窗效果Android
- Android 輕鬆實現 RecyclerView 懸浮條AndroidView
- Android懸浮窗--獲取記憶體Android記憶體
- Android應用內懸浮窗的實現方案Android
- JS錯誤記錄 – 右側懸浮框 – 緩衝運動JS
- Android 輔助許可權與懸浮窗Android
- [轉]Android輕鬆實現RecyclerView懸浮條AndroidView
- 【轉載】使用WindowManage實現Android懸浮窗Android
- dataTable.js使用總結(包含序號生成,懸浮框使用等)JS
- ALaunch 0.8 := 懸浮提示
- Android 為應用增加可移動的懸浮視窗Android
- Android RecyclerView實現頭部懸浮吸頂效果AndroidView
- Andorid 任意介面懸浮窗,實現懸浮窗如此簡單
- LIFT磁懸浮無線充電底座 迄今最酷的磁懸浮蘋果表底座蘋果
- 外掛-懸浮選單
- Android懸浮窗TYPE_TOAST小結: 原始碼分析AndroidAST原始碼
- Gridview的資料列中實現滑鼠懸浮變色View
- 下沉式通知的一種實現 | Android懸浮窗Window應用Android
- Android開發筆記(一百一十八)自定義懸浮窗Android筆記
- Android實現仿360手機衛士懸浮窗效果Android