Android 懸浮框實現方法
朋友們是對360的懸浮框有興趣,下面將其實現的大體流程與大家分享一下:
不知道大家對WindowManager瞭解有多少,實際上懸浮框就是WindowManager,其對應一個內部佈局引數,LayoutParams,通過修改LayoutParams物件的引數可以設定懸浮框的顯示屬性,而屬性的區別決定了懸浮框顯示的方式。
如果想只是在某個頁面中顯示,則將類別資訊設定成Application TYPE_APPLICATION,如將類別資訊設定成TYPE_SYSTEM_OVERLAY,則將windowManager的懸浮設定成系統類別,這樣在任何應用程式中均可以正常的顯示。
關於WindowManager.LayoutParams的設定資訊,強點選。
言歸正傳,360的懸浮框,實際上就是對window物件進行了一些設定,而這些設定均是通過windowManager物件完成的,呼叫windowManager的addView方法將View新增進window介面,此時在介面上就會顯示出相應的View,在繫結的View中可以監聽點選、觸控等事件。通過此種設計,不會影響到Activity頁面的顯示及Activity繫結View事件的觸發。
運用上面的知識,小弟寫了一個demo,該demo的功能如下,浮動按鈕預設顯示在螢幕右方中間的位置,當使用者點選該浮動按鈕,會觸發響應的事件,顯示出浮動框,當使用者點選浮動框中的某一個選單時會觸發點選事件,通過toast的形式提示使用者,為了說明該功能不影響使用者正常介面的操作,在Activtiy繫結的View中,新增了一個Button,當點選該Button時,觸發Button點選事件,以toast的形式顯示點選資訊。
不知道大家對WindowManager瞭解有多少,實際上懸浮框就是WindowManager,其對應一個內部佈局引數,LayoutParams,通過修改LayoutParams物件的引數可以設定懸浮框的顯示屬性,而屬性的區別決定了懸浮框顯示的方式。
如果想只是在某個頁面中顯示,則將類別資訊設定成Application TYPE_APPLICATION,如將類別資訊設定成TYPE_SYSTEM_OVERLAY,則將windowManager的懸浮設定成系統類別,這樣在任何應用程式中均可以正常的顯示。
關於WindowManager.LayoutParams的設定資訊,強點選。
言歸正傳,360的懸浮框,實際上就是對window物件進行了一些設定,而這些設定均是通過windowManager物件完成的,呼叫windowManager的addView方法將View新增進window介面,此時在介面上就會顯示出相應的View,在繫結的View中可以監聽點選、觸控等事件。通過此種設計,不會影響到Activity頁面的顯示及Activity繫結View事件的觸發。
運用上面的知識,小弟寫了一個demo,該demo的功能如下,浮動按鈕預設顯示在螢幕右方中間的位置,當使用者點選該浮動按鈕,會觸發響應的事件,顯示出浮動框,當使用者點選浮動框中的某一個選單時會觸發點選事件,通過toast的形式提示使用者,為了說明該功能不影響使用者正常介面的操作,在Activtiy繫結的View中,新增了一個Button,當點選該Button時,觸發Button點選事件,以toast的形式顯示點選資訊。
相關文章
- Android懸浮框的實現Android
- Android通過WindowManager實現懸浮框Android
- Android中的懸浮框Android
- Android懸浮框的適配問題Android
- 懸浮窗的一種實現 | Android懸浮窗Window應用Android
- 【轉載】使用WindowManage實現Android懸浮窗Android
- [轉]Android輕鬆實現RecyclerView懸浮條AndroidView
- Android RecyclerView實現頭部懸浮吸頂效果AndroidView
- Android 懸浮窗Android
- Android懸浮窗的學習Android
- Android 懸浮窗 System Alert WindowAndroid
- 下沉式通知的一種實現 | Android懸浮窗Window應用Android
- 滑鼠懸浮div實現旋轉效果
- Android:會呼吸的懸浮氣泡Android
- 滑鼠懸浮圖片實現翻轉效果
- 滑鼠懸浮圖片實現縮放效果
- 滑鼠懸浮實現環形旋轉效果
- Android仿微信文章懸浮窗效果Android
- Android 攝像頭預覽懸浮窗Android
- 利用css變數實現按鈕懸浮效果CSS變數
- 記vue下懸浮貼合頂部實現Vue
- Android 輔助許可權與懸浮窗Android
- Android懸浮窗怎麼簡單實現?這樣用 kotlin編寫輕鬆搞定!AndroidKotlin
- [譯] CSS 變數實現炫酷滑鼠懸浮效果CSS變數
- 【Flutter】如何優美地實現一個懸浮NavigationBarFlutterNavigation
- 小程式上是實現拖動懸浮圖示
- 利用CSS變數實現炫酷的懸浮效果CSS變數
- JS錯誤記錄 – 右側懸浮框 – 緩衝運動JS
- 利用CSS變數實現令人震驚的懸浮效果CSS變數
- 專案需要實現按鈕懸浮的功能, 實現後的記錄
- dataTable.js使用總結(包含序號生成,懸浮框使用等)JS
- vivo系統無許可權開啟懸浮框的問題
- 懸浮窗開發設計實踐
- JavaScript實現HTML導航欄下拉選單[懸浮顯示]JavaScriptHTML
- 滑鼠懸浮連結底部出現橫線
- ALaunch 0.8 := 懸浮提示
- 簡單介紹Vue實現滑鼠懸浮切換圖片srcVue
- 使用Three.js實現神奇的3D文字懸浮效果JS3D
- Android之AppBarLayout實現懸停吸附伸縮效果AndroidAPP