0

このアプリに見られるように、影付きのオーバーレイを作成して画面を暗くするアプリを作成したいと考えています。

ウィンドウが作成され、部分的に透明になっていますが、その下にあるアプリケーションを起動できません。それらをクリックしてボタンが押されたことを確認できますが、私の実行中は他のアプリを起動できません。

提案?

以下にコードと、既にこれを実行しているアプリの例を同封しました。

final WindowManager.LayoutParams params = new WindowManager.LayoutParams( 
    WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
    WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN |
    WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | 
    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | 
    WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
    WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
    PixelFormat.TRANSLUCENT);   

    WindowManager wm = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);    

    LayoutInflater inflater = (LayoutInflater)   getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    ViewGroup mTopView = (ViewGroup) inflater.inflate(R.layout.activity_black, null);
    getWindow().setAttributes(params);
    wm.addView(mTopView, params);

https://play.google.com/store/apps/details?id=com.haxor

4

2 に答える 2

-2

アクティビティを設定に変更し、黒塗りコンポーネントをサービスに移動しました。これは正常に機能しました。

于 2013-01-10T12:56:42.520 に答える