97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

  您的位置:華清遠見教育科技集團 >> 新聞動態(tài) >> Android資料 >> 在Android中使用WindowManager實現(xiàn)懸浮窗口  
 
在Android中使用WindowManager實現(xiàn)懸浮窗口
分享到:

近在做一個項目的過程中,客戶提出要一個能懸浮于所有應(yīng)用的界面。下圖右側(cè)這個界面就是需要實現(xiàn)的懸浮于所有應(yīng)用之上的視圖。

下面就介紹一下如何通過WindowManager來實現(xiàn)這個效果。

通過WindowManager的addView()方法,并設(shè)置WindowManager.LayoutParams的相關(guān)屬性,就可以往WindowManager中加入所需要的View,而根據(jù)WindowManager.LayoutParams屬性不同,也就能實現(xiàn)不同的效果。比如創(chuàng)建系統(tǒng)頂級窗口,實現(xiàn)懸浮窗口效果。如果需要將View從WindowManager中移除,只需要調(diào)用removeView()即可。

下面以一個簡單的例子來解釋一下如何實現(xiàn)懸浮窗口效果。

首先,得到WindoeManager對象:

WindowManager wManager = getApplicationContext().getSystemService( Context. WINDOW_ SERVICE);

其次,得到WindowManager.LayoutParams對象,為后續(xù)設(shè)置相關(guān)參數(shù)做準(zhǔn)備:

private WindowManager.LayoutParams wmParams=new WindowManager.LayoutParams();

接著,設(shè)置相關(guān)的窗口布局參數(shù),要實現(xiàn)懸浮窗口效果,主要需要設(shè)置的參數(shù)有:

wmParams.type = LayoutParams.TYPE_PHONE; // 設(shè)置window type
    wmParams.format = PixelFormat.RGBA_8888; // 設(shè)置圖片格式,效果為背景透明

    /*
    * 下面的flags屬性的效果形同“鎖定”。 懸浮窗不可觸摸,不接受任何事件,同時不影響后面的事件響應(yīng)。
    */
    wmParams.flags=LayoutParams.FLAG_NOT_TOUCH_MODAL |
    LayoutParams.FLAG_NOT_FOCUSABLE | LayoutParams.FLAG_NOT_TOUCHABLE;

wmParams.gravity = Gravity.RIGHT| Gravity. CENTER_VERTICAL; // 調(diào)整懸浮窗口至右側(cè)中間
    // 以屏幕左上角為原點,設(shè)置x、y初始值
    wmParams.x = 0;
    wmParams.y = 0;

// 設(shè)置懸浮窗口長寬數(shù)據(jù)
    wmParams.width = WindowManager.LayoutParams.WRAP_CONTENT;;
    wmParams.height =WindowManager.LayoutParams.WRAP_CONTENT;;

然后,就可以將需要加到懸浮窗口中的View加入到窗口中了:

if(view.getParent==null)//如果view沒有被加入到某個父組件中,則加入WindowManager中
    wManager.addView(view,wmParams);

其中,view為需要放到懸浮窗口中的視圖組件。

如果要將其從WindowManager中移除,則可以執(zhí)行以下語句:

if(view.getParent()!=null)
    wManager.removeView(view);

后,還有需要注意的是,如果要用懸浮窗口,需要在AndroidManifest.xml中加入如下的權(quán)限:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

 更多相關(guān)文章

·Android幀動畫實例詳解
·Android 控件動畫效果的實現(xiàn)
·Android中的四種補間動畫
·Android開發(fā)中的人臉檢測技術(shù)
·Android中如何實現(xiàn)圖像瀏覽