ウィンドウ マネージャーをセットアップしましたが、FLAG_NOT_FOCUSABLE というフラグが設定されています。これは、重要なイベントのフォーカスが得られないことを意味します。たとえば、クリック時にこれを元に戻す方法はありますか? たとえば、ボタンをクリックした場合、ウィンドウをクリック可能にしたいと考えています。どうすればこれを行うことができますか?
			
			2487 次
		
1 に答える
            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);
    }
});
于 2013-09-05T04:51:15.433   に答える