好的,所以我做了一个对话:
package com.dharamshi.practice;
import android.app.Activity;
import android.app.Dialog;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;
public class ViewDialog {
public void showDialog(Activity activity, String msg){
final Dialog dialog = new Dialog(activity);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCanceledOnTouchOutside(true);
dialog.setCancelable(false);
dialog.setContentView(R.layout.dialog);
TextView text = (TextView) dialog.findViewById(R.id.text_dialog);
text.setText(msg);
Button dialogButton = (Button) dialog.findViewById(R.id.btn_dialog);
dialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
}
我希望对话框在单击对话框外的区域时自行关闭。
我还添加了 setCanceledOnTouchOutside(true) 但它不起作用。
我应该进行哪些更改才能使其正常工作?
我这样称呼它:
ViewDialog alert = new ViewDialog();
alert.showDialog(this, "Its Working!");
你犯了一个小而愚蠢的错误,
注释掉
dialog.setCancelable(false);
因为如果您希望在对话框区域外单击时关闭对话框,那么当您将可取消属性设置为 false 时,您希望它如何。
改变它,它会起作用!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句