Android之懸浮窗口的使用


 

 

先來看一下懸浮窗口的效果

界面雖然丑了點,但是懸浮窗口該有的功能都有,可以看到屏幕的右方有一只小企鵝,小企鵝就是懸浮窗口,可以拖動企鵝四處移動,如果不將其關閉,即使活動結束它也不會消失。

實現懸浮窗口應該准備的操作:

     1、獲取窗口管理WindowManager

     WindowManager windowManager=(WindowManager)getApplication().getSystemService(Context.WINDOW_SERVICE);

     2、獲取能夠設置窗口的Param

    WindowManager.LayoutParams params=new WindowManager.LayoutParams();

3、獲取要加載進來的布局
    LayoutInflater inflater=LayoutInflater.from(getApplication());
LinearLayout linearLayout= (LinearLayout) inflater.inflate(R.layout.progress_layout,null); 
  4、設置懸浮窗口的寬高
    params.width=WindowManager.LayoutParams.MATCH_PARENT;
params.height=WindowManager.LayoutParams.MATCH_PARENT;
    注:這里的寬高可以自己任意設定,只要是int型的數據都可以

5、設置懸浮窗口開始加載進來的位置
    params.gravity= Gravity.CENTER_VERTICAL|Gravity.RIGHT;
 
        
  6、不搶占焦距點
    params.flags= WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
如果不設置這個,一旦有懸浮窗口在當前的活動時,活動里面的所有控件都失去了焦點,不能操作

7、只讓圖片顯示出來
params.format=1;
注:只要寫了這句話,就不能將已經寫好的布局加載進來,必須自定義一個空的,在通過程序動態的去設置

8、設置懸浮窗口的透明度
params.alpha=0.5f; //
0為全透明,1為不透明
  9、實現懸浮窗口
windowManager.addView(linearLayout,params);

10、操作完了過后記得將懸浮窗口移除
windowManager.removeView(linearLayout);//可以在活動結束時里面調用等

注:在使用懸浮窗口之前一定要添加權限
 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
 
        
 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM