マニフェストで「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();
}
}