每当我的警告对话框出现在屏幕上时,我都可以在屏幕外点击它,它会消失,但我希望它不会在其边界外点击。 这是我的警告对话框代码:
@Override
protected Dialog onCreateDialog(int id) {
Log.wtf("x", "on create dialog....");
AlertDialog.Builder adb = new AlertDialog.Builder(this);
win_lose_view = (RelativeLayout) getLayoutInflater().inflate(R.layout.win_lose_screen, null);
adb.setView(win_lose_view);
upper_text = (TextView) win_lose_view.findViewById(R.id.upper_text);
upper_text.setRotation(180);
lower_text = (TextView) win_lose_view.findViewById(R.id.lower_text);
upper_decide = (Button) win_lose_view.findViewById(R.id.upper_decide);
upper_decide.setRotation(180);
lower_decide = (Button) win_lose_view.findViewById(R.id.lower_decide);
return adb.create();
}
@Override
protected void onPrepareDialog(int id, Dialog dialog){
Log.wtf("x", "on prepare dialog...");
super.onPrepareDialog(id, dialog);
upper_decide = (Button) win_lose_view.findViewById(R.id.upper_decide);
upper_decide.setRotation(180);
lower_decide = (Button) win_lose_view.findViewById(R.id.lower_decide);
View.OnClickListener goBack = new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent goToChooseHero = new Intent(Battlefield.this, ChooseHero.class);
goToChooseHero.putExtra("username1", username1);
goToChooseHero.putExtra("username2", username2);
startActivity(goToChooseHero);
System.exit(1);
}
};
upper_decide.setOnClickListener(goBack);
lower_decide.setOnClickListener(goBack);
}
答案 0 :(得分:1)
您是否尝试过创建对话框
AlertDialog.Builder adb = new AlertDialog.Builder(this);
...
Dialog dialog = adb.create()
dialog.setCanceledOnTouchOutside(false);
return dialog;