Android WindowManager 背景暗化
Android 大约 1232 字主要代码
WindowManager.LayoutParams.FLAG_DIM_BEHIND
mParams.dimAmount = 0.5f;
示例
mWM = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
mLayoutParams = new LayoutParams();
mLayoutParams.height = LayoutParams.WRAP_CONTENT;
mLayoutParams.width = LayoutParams.MATCH_PARENT;
mLayoutParams.gravity = Gravity.BOTTOM;
mLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL | LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | LayoutParams.FLAG_DIM_BEHIND;
mLayoutParams.dimAmount = 0.5f;
mLayoutParams.format = PixelFormat.TRANSLUCENT;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
mLayoutParams.type = LayoutParams.TYPE_TOAST;
Log.d(TAG, "initWindowManager: TYPE_TOAST");
} else {
mLayoutParams.type = LayoutParams.TYPE_PRIORITY_PHONE;
Log.d(TAG, "initWindowManager: TYPE_PRIORITY_PHONE");
}
mLayoutParams.setTitle("BaseFloatWindowView");
mLayoutParams.windowAnimations = R.style.anim_MarkPhoneNumWindowView;
设置了Flag
为LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
后监听addView
中的View
的触摸事件
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_OUTSIDE:
//相应逻辑
hide();
return true;
}
return false;
}
阅读 3509 · 发布于 2019-04-13
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
软考-系统架构设计师:数据仓库与数据挖掘阅读 1773
-
Prometheus+Grafana+jmx_exporter 监控 Java 虚拟机阅读 935
-
Linux grep/zgrep 提示 Binary file matches阅读 2952
-
k3s Helm Error INSTALLATION FAILED Kubernetes cluster unreachable阅读 2199
-
IDEA CodeGlance 插件长文件中快速滑动阅读 353
-
为什么 HashMap 长度必须是 2 的 n 次幂阅读 910
-
Windows/Linux 使用 split 命令分割大文件阅读 4755
-
使用 ffmpeg 合并无声视频和音频阅读 2576
-
Linux 之定时任务 crontab 无法启动阅读 3828
-
GitHub OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443阅读 4930