WindowManager實現懸浮可拖動效果
現在360手機衛士有個流量統計的效果,開啟流量統計後,在桌面上會出現一個顯示流量的窗體,在任何介面都可以自由拖動。
模仿這個功能,做了一個統計手機訊號強度的Demo, 介面效果如下:
從上面的截圖可以看出,當開啟手機訊號懸浮框後,預設在右上角會出現一個小窗體(一個圖示加上一個訊號強度),這個窗體附在鎖屏上(預設最上面的一層是鎖屏介面),可以隨意拖動。
介面佈局什麼的,在這裡就不說了。這個小窗體實際是一個Service,一直在後臺執行。
建立窗體的核心程式碼如下:
需要注意的地方都已經加了註釋,特別要注意那幾個type,有的type可以讓窗體只在某個應用介面上顯示,鎖屏介面不顯示等等,ERROR的級別是最高的,表示可以在任何介面都可以顯示窗體。接下來就是實現拖動的效果,程式碼如下:
基本上核心程式碼都已經附上了,大多數都是原生API就可以實現,具體細節可以根據具體情況來除錯。
相關推薦
WindowManager實現懸浮可拖動效果
現在360手機衛士有個流量統計的效果,開啟流量統計後,在桌面上會出現一個顯示流量的窗體,在任何介面都可以自由拖動。 模仿這個功能,做了一個統計手機訊號強度的Demo, 介面效果如下: 從上面的截圖可
使用canvas和js實現多種圖形拖動效果
<!doctype html> <html> <head> <title> </title> <meta http-equiv="X-UA-Compatible" content="IE=9
Android 通過手勢類實現的可拖動佈局例項
平板專案中,由於分為上下兩個佈局,橫豎屏切換時,下方的介面需要顯示更多的資料,所以就想到能不能拖動中間的 按鈕,然後實時的改變佈局的高度,讓其顯示更多的資料,找到一篇部落格如下:轉自:http://www.apkbus.com/thread-74732-1-1
Android 實現高仿iOS桌面效果之可拖動的GridView(上)
最近專案中遇到一個LIstview的拖動效果,github上一搜發現有叫DragListview的開源專案,然後自己再小手一搜拖動排序的GridView,卻沒發現什麼很全很好的開源專案,後
c# 實現用滑鼠拖動沒有標題欄的視窗(窗體的任何部分都可實現拖動效果)
上面形式的窗體,實現窗體的任何部分都可實現拖動 首先需要引入非託管程式碼,直接呼叫windows api public const int WM_NCLBUTTONDOWN = 0xA1; public const int HT_CAPT
Android實現可拖動的懸浮按鈕控制元件
有時候,我們需要一個可移動的選單,Android本身並沒有這樣的控制元件,小弟不才,最近研究了下,並參考了網上的一些資料,自己動手封裝了個,因為是第一個版本,可能會有一些bug,歡迎留言指導。我們先簡單來說一下原理: 隨著我們的手勢移動,控制元件就隨著
Android下圖片或按鈕等可拖動到任意位置的效果實現原始碼
from: http://www.2cto.com/kf/201207/140218.html Android下圖片可拖動到任意位置的效果 下面為Activity的程式碼: 01 public class DraftTest extends Activity { 0
iOS自定義可拖動帶點選效果的懸浮按鈕
實現方法是自定義一個UIView,在UIView上新增拖動手勢(UIPanGestureRecognizer)和點選手勢(UITapGestureRecognizer). - (instancetype) initWithFrame:(CGRect)frame
Jquery實現可拖動進度條
div overflow 20px ext pan 點擊 技術分享 img ani html <div class="progress"> <div class="progress_bg">
javascript實現可拖動DIV層
百度 -i osi sil weight 拖動 oev solid col 原文發布時間為:2009-05-04 —— 來源於本人的百度文章 [由搬家工具導入]注意以下红色部&
HTTP協議下可拖動時間軸播放FLV的實現(偽流媒體)
prot pac -m method bytes encoding 編寫 時間軸 delay HTTP協議下實現FLV的播放其實並不復雜,當初實現的原理是使用了flowPlayer插件實現的,效果還不錯。但仍有兩大問題影響著客戶的訪問情緒: 1.預加載時頁面卡死,似乎沒有
C# 各種控件實現可拖動和調整大小
osi 鼠標拖動 clas 鼠標 pan lin tool 右下角 enum http://www.360doc.com/content/18/0516/12/55659281_754382494.shtml using System; using System.Colle
Android可拖動懸浮按鈕
最近專案需要使用可拖拽的懸浮按鈕,所以實現了一個小demo 因為是模擬器的緣故,拖動的時候看起來有點卡頓,如果在真機上執行時非常完美的 技術要突破的難點有下面幾個: 1 如何懸浮? 使用相對佈局或者幀佈局,按鈕放在最外層即可 2 如何拖動? 對按鈕進行移動監聽
實現評論頁面的五星評價和圖片選擇(可拖動)
先上圖: https://github.com/simonFong/CommentDemo 想用的直接到github下載就可以了,星星控制元件和新增圖片的控制元件在imageadd的lib裡 使用方法: 1.下載lib,匯入自己的工程 2.星星控制元件 直接在自己的佈局檔案裡新增
js實現可拖動的佈局
思路:採用flex佈局,js即時修改固定列的寬度 注意:父元素需設定position:relative;因offsetLeft和offsetTop是相對於具有定位的(position:absolute或者position:relative)父級元素的距離 html: <!DOCTYPE ht
Qt重新實現QMouseEvent實現自定義視窗可拖動
(1)pro檔案中加入 QT += gui (2)h檔案的類中加入標頭檔案: #include <QMouseEvent> 類中加入函式和變數宣告: protected: void mouseMoveEvent(QMouseEvent* event);
使用VC實現可拖動視窗
有很多漂亮的小程式,它們的視窗都是可以拖動的。滑鼠在視窗的任意位置按下,即可把視窗拖動到其它位置。通常標準的Windows視窗只有在標題欄上按下滑鼠才可以拖動,那麼如何實現視窗的任意位置都可以拖動呢? 稍有經驗的程式設計師會立刻想到:響應滑鼠按下訊息,然後在滑鼠移
可拖動的懸浮球(增加螢幕邊界判斷)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content=
Android 可拖動的懸浮按鈕
這是控制元件的主程式碼,在你的專案裡面,新建一個同名的類,把程式碼直接複製進去就能用了。另外,這個類裡面引用了工具類的一些程式碼。工具類在這個主類的原始碼下面也有貼出,直接把工具類的相關程式碼,複製到你自己的工具類裡就行了,有問題可以加我QQ諮詢:326257241。 /** * @C
可拖動 全域性懸浮框
Android手機內的全域性懸浮框,可拖動。而且不需要系統許可權!下面的是主要程式碼: package cn.net.owen.floatview; import android.app.Service; import android.content.I