Android studio 的AlertDialog控件,要实现点击确定和取消按钮时,对话框消失;点击空白处,对话框

当且仅当点击取消或确定时,对话框才会消失,点击空白没有其他响应。

其实很简单,设置setCancelable属性为false即可,如下:

builder.setCancelable(false);
下面贴出该属性的定义:
/**
 * Sets whether the dialog is cancelable or not.  Default is true.
 *
 * @return This Builder object to allow for chaining of calls to set methods
 */
public Builder setCancelable(boolean cancelable) {
    P.mCancelable = cancelable;
    return this;
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤实现: 1. 首先,在布局文件中添加一个Button,并设置点击事件。 2. 在点击事件中,创建一个AlertDialog对象,并设置标题、选项和取消按钮。 3. 在选项的点击事件中,使用setTextSize()方法来改变字体大小。 4. 最后,在取消按钮点击事件中,关闭AlertDialog窗口。 下面是一个示例代码: ```java public class MainActivity extends AppCompatActivity { private Button btnChoose; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnChoose = findViewById(R.id.btn_choose); btnChoose.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final String[] items = new String[]{"小号", "中号", "大号"}; AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("请选择字体大小"); builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { float textSize = 0; switch (which) { case 0: textSize = 16; break; case 1: textSize = 20; break; case 2: textSize = 24; break; } btnChoose.setTextSize(textSize); } }); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // do nothing } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); AlertDialog dialog = builder.create(); dialog.show(); // 设置确定按钮点击事件,需要在show()方法之后调用,否则会报错 dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); } }); } } ``` 注意,在设置确定按钮点击事件,需要在AlertDialog的show()方法之后调用,否则会导致空指针异常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值