我创建了一个小应用程序,在它的清单中使用 '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();
}
}