3

マニフェストで「android:theme="@android:style/Theme.Dialog"」を使用する小さなアプリケーションを作成しました。そうすればダイアログのように表示されるので、背景が半透明で薄暗くなります。アクティビティのライフサイクル中に、別のダイアログが表示されます。ただし、ダイアログが閉じられた後、背景は短時間フェード インし、アプリケーションのテーマに一致するように再びフェード アウトします。

を使用してこの動作を無効にすることができます

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

ただし、これを使用すると、ダイアログでアクティビティが薄暗くなりません。

目的の動作を実現する方法はありますか?

-Activity's background should be translucent and dimmed
-Dialog should dimm the activity's layout
-No fading when dialog is dismissed

完全なコード:

public class DialogDimActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    public void onClick(View v) {
        Dialog d = new AlertDialog.Builder(this)
        .setNegativeButton("Close", null)
        .create();
    //  d.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
        d.show();
    }
}
4

0 に答える 0