我设置了一个窗口管理器,它有标志FLAG_NOT_FOCUSABLE,这意味着它将无法获得关键事件的焦点。例如,是否有一次点击就可以逆转这一情况?例如,如果我单击一个按钮,我希望窗口是可点击的。我怎么能这么做?
发布于 2013-09-05 04:51:15
只需使用新参数更新窗口管理器即可。
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//remove FLAG_NOT_FOCUSABLE
params.flags = params.flags & ~WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
//update the view
windowManager.updateViewLayout(view, params);
}
});https://stackoverflow.com/questions/18622105
复制相似问题