国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Android - Android中懸浮窗口的實(shí)現(xiàn)原理實(shí)例分析

Android中懸浮窗口的實(shí)現(xiàn)原理實(shí)例分析

2021-04-04 16:09一葉飄舟 Android

這篇文章主要介紹了Android中懸浮窗口的實(shí)現(xiàn)原理,以實(shí)例形式較為詳細(xì)的分析了Android懸浮窗口的原理與具體實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Android懸浮窗口的實(shí)現(xiàn)原理。分享給大家供大家參考。具體如下:

用了我一個(gè)周末的時(shí)間,個(gè)中憤懣就不說(shuō)了,就這個(gè)問(wèn)題,我翻遍全球網(wǎng)絡(luò)沒(méi)有一篇像樣的資料,現(xiàn)在將實(shí)現(xiàn)原理簡(jiǎn)單敘述如下:

調(diào)用WindowManager,并設(shè)置WindowManager.LayoutParams的相關(guān)屬性,通過(guò)WindowManager的addView方法創(chuàng)建View,這樣產(chǎn)生出來(lái)的View根據(jù)WindowManager.LayoutParams屬性不同,效果也就不同了。比如創(chuàng)建系統(tǒng)頂級(jí)窗口,實(shí)現(xiàn)懸浮窗口效果!

WindowManager的方法很簡(jiǎn)單,基本用到的就三個(gè)addView,removeView,updateViewLayout。

而WindowManager.LayoutParams的屬性就多了,非常豐富,具體請(qǐng)查看SDK文檔。這里給出Android中的WindowManager.java源碼,可以具體看一下。
下面是簡(jiǎn)單示例代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class myFloatView extends Activity {
/** Called when the activity is first created. */
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button bb=new Button(getApplicationContext());
WindowManager wm=(WindowManager)getApplicationContext().getSystemService("window");
WindowManager.LayoutParams wmParams = new WindowManager.LayoutParams();
/** *以下都是WindowManager.LayoutParams的相關(guān)屬性 * 具體用途請(qǐng)參考SDK文檔 */
wmParams.type=2002; //這里是關(guān)鍵,你也可以試試2003
wmParams.format=1; /** *這里的flags也很關(guān)鍵 *代碼實(shí)際是wmParams.flags |= FLAG_NOT_FOCUSABLE; *40的由來(lái)是wmParams的默認(rèn)屬性(32)+ FLAG_NOT_FOCUSABLE(8) */
wmParams.flags=40;
wmParams.width=40;
wmParams.height=40;
wm.addView(bb, wmParams);//創(chuàng)建View
}
}

別忘了在AndroidManifest.xml中添加權(quán)限:

 

復(fù)制代碼 代碼如下:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

 

PS:這里舉例說(shuō)明一下type的值的意思:

?
1
2
3
4
/** * Window type: phone. These are non-application windows providing * user interaction with the phone (in particular incoming calls). * These windows are normally placed above all applications, but behind * the status bar. */
public static final int TYPE_PHONE = FIRST_SYSTEM_WINDOW+2;
/** * Window type: system window, such as low power alert. These windows * are always on top of application windows. */
public static final int TYPE_SYSTEM_ALERT = FIRST_SYSTEM_WINDOW+3;

這個(gè)FIRST_SYSTEM_WINDOW的值就是2000。2003和2002的區(qū)別就在于2003類(lèi)型的View比2002類(lèi)型的還要top,能顯示在系統(tǒng)下拉狀態(tài)欄之上!

希望本文所述對(duì)大家的Android程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美日韩一区二区三区免费视频 | 精品国产鲁一鲁一区二区在线观看 | 国产视频1区 | 日本99精品| 久久综合九色综合欧美狠狠 | 色婷婷综合久久久中字幕精品久久 | 91国内视频 | 中文字幕国产一区 | 免费一级a毛片免费观看 | 高清一区二区 | 国产一区二区三区视频 | 日韩精品一二三 | 日韩一区免费在线观看 | 一区二区不卡视频 | 国产精品美女久久久久久久久久久 | 久久久久久亚洲一区二区三区蜜臀 | 亚洲国产成人av好男人在线观看 | 国内自拍视频在线观看 | 欧美精品一区二区三区手机在线 | 免费成人av | 五月综合激情 | 狠狠干av| 日韩成人在线观看视频 | 亚洲精品视频在线播放 | 国产婷婷精品av在线 | 亚洲激情精品 | 伦理午夜电影免费观看 | 精品国产精品 | 国产精品色一区二区三区 | 国产美女久久久 | 日韩色| av资源中文在线 | 精品国产乱码久久久久久1区2区 | 亚洲一区免费在线观看 | 黄频免费在线观看 | 国产一区久久 | 在线观看黄色电影 | 秋霞特色aa大片 | 91久久综合亚洲鲁鲁五月天 | 免费观看一级特黄欧美大片 | 精品在线一区二区 |