zoukankan      html  css  js  c++  java
  • 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"/>
    
    
    
    
  • 相关阅读:
    1
    可测试性
    爬取信件信息(更新)
    爬虫爬取疫情数据存到文件
    python分析三国演义中出现次数最多的词作词频统计
    实验三
    scala统计学生成绩
    对于OpenCV的访问Mat元素的探究
    OpenCV+VS2017+Nivdia(待更新)
    Window10 CUDA和cunn安装
  • 原文地址:https://www.cnblogs.com/xhf-wonder/p/6767961.html
Copyright © 2011-2022 走看看