WindowManager获得关注?

时间:2013-09-04 19:23:51

标签: android

我设置了一个窗口管理器,它有FLAG_NOT_FOCUSABLE标志,这意味着它不会得到关键事件的焦点。有没有反过来说,例如点击一下?例如,如果我点击一个按钮,我希望窗口可以点击。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

只需使用新参数更新窗口管理器。

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);
    }
});