在编写一个显示文字的浮动窗口View时,希望它不被Touch触发,并且Touch可以传递到被这个View盖住的View。
方法是LayoutParam中设置FLAG_NOT_TOUCHABLE。
private void initView() {
WindowManager.LayoutParams params = new WindowManager.LayoutParams();
LayoutInflater inflater = LayoutInflater.from(getApplication());
linearLayout = (LinearLayout) inflater.inflate(R.layout.layout_floating_view, null);
pakegeNameTextView = linearLayout.findViewById(R.id.package_name);
activityNameTextView = linearLayout.findViewById(R.id.activity_name);
params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
params.format = PixelFormat.RGBA_8888;
params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
params.gravity = Gravity.LEFT | Gravity.TOP;
params.x = 0;
params.y = 0;
params.width = WindowManager.LayoutParams. WRAP_CONTENT;
params.height = WindowManager.LayoutParams. WRAP_CONTENT;
mWindowManager.addView(linearLayout, params);
}