需求是实现一个悬浮窗,这里使用了WindowManager

  mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);        mLayoutParams = new WindowManager.LayoutParams();        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {            //不需要manifest声明悬浮窗权限,但是2.3上无法接收点击事件            mLayoutParams.type = LayoutParams.TYPE_TOAST;        } else {            mLayoutParams.type = LayoutParams.TYPE_TOAST;        }        //设置图片格式,效果为背景透明        mLayoutParams.format = PixelFormat.RGBA_8888;        //设置浮动窗口不可聚焦(实现操作除浮动窗口外的其他可见窗口的操作)        mLayoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE;        DisplayMetrics metric = new DisplayMetrics();        mLayoutParams.width= LayoutParams.MATCH_PARENT;        mLayoutParams.height = LayoutParams.MATCH_PARENT;        mLayoutParams.gravity = Gravity.CENTER;        mLayoutParams.y = DisplayUtil.dip2px(mContext,8);        if (null == mFloatWindowView) {            mFloatWindowView = new FlowWindowView(mContext, this, flowWindowConfig);        }        FlowWindowLogHelper.logFlowWindowShow(mContext);

问题:发现悬浮窗是出来了,但是不管怎么设置Gravity,一直显示在屏幕的最上方,x,y坐标也不生效,折腾了老旧。
问题在于,所显示的view的高度不能使用match_parent,会导致view的高度为整个屏幕,自然也就靠顶部显示,x,y也控制不了view的位置了,所以将param的高度设置为Wrap_content即可!

更多相关文章

  1. Android之ScrollView嵌套ListView解决工具
  2. android thread实例
  3. Android(安卓)ScrollView里嵌套ListView
  4. android修改当前窗口的亮度
  5. android Dialog 底部弹出
  6. 天天记录 - Android创建应用窗口分析2
  7. Android常用控件之悬浮窗(Service实现)
  8. [Android]Android字体高度的研究
  9. [摘]android:windowSoftInputMode属性使用

随机推荐

  1. Android App: 按键识别
  2. **android studio 编写淘宝界面## 标题**
  3. 在Tab里面使用Android TTS引擎的问题
  4. 启动页面
  5. 关于android studio 的FAILURE: Build fa
  6. Android 创建图像倒影
  7. android自动关机代码
  8. linux命令
  9. commonsware-Android平台可复用代码仓库
  10. Android之Dialog集合