android设置window背景颜色,Android WindowManager 背景暗化

博客给出了Android设置Window背景颜色的主要代码,如设置WindowManager.LayoutParams.FLAG_DIM_BEHIND及dimAmount值。还给出示例代码,包含窗口布局参数设置。此外,展示了设置Flag为LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH后,监听addView中View触摸事件的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要代码

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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值