android 创建3个按钮,带有一个,两个和三个按钮的Android Alert对话...

一键

PBqE4.png

import android.support.v7.app.AlertDialog;

public class MainActivity extends AppCompatActivity {

public void showAlertDialogButtonClicked(View view) {

// setup the alert builder

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("My title");

builder.setMessage("This is my message.");

// add a button

builder.setPositiveButton("OK", null);

// create and show the alert dialog

AlertDialog dialog = builder.create();

dialog.show();

}

}

两个按钮

e8db5fb16eed99696ce11993cab04bae.png

public class MainActivity extends AppCompatActivity {

public void showAlertDialogButtonClicked(View view) {

// setup the alert builder

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("AlertDialog");

builder.setMessage("Would you like to continue learning how to use Android alerts?");

// add the buttons

builder.setPositiveButton("Continue", null);

builder.setNegativeButton("Cancel", null);

// create and show the alert dialog

AlertDialog dialog = builder.create();

dialog.show();

}

}

三个按钮

1d6d408deb1bab2b0975b6dbc6b1aa3d.png

public class MainActivity extends AppCompatActivity {

public void showAlertDialogButtonClicked(View view) {

// setup the alert builder

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("Notice");

builder.setMessage("Launching this missile will destroy the entire universe. Is this what you intended to do?");

// add the buttons

builder.setPositiveButton("Launch missile", null);

builder.setNeutralButton("Remind me later", null);

builder.setNegativeButton("Cancel", null);

// create and show the alert dialog

AlertDialog dialog = builder.create();

dialog.show();

}

}

如果按钮文本太长而不能全部水平放置,那么它将自动布局在三个按钮的垂直列中.

c41976ef3c8f9fc29067ac5d3a78e8b4.png

处理按钮单击

在上面的示例中,OnClickListener为null.当用户点击按钮时,您可以用侦听器替换null来执行某些操作.例如:

builder.setPositiveButton("Launch missile", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// do something like...

launchMissile();

}

});

继续

您可以制作更多种类的对话框.有关此问题,请参阅documentation.

由于AlertDialog中仅支持三个按钮,因此这是带有列表的对话框的示例.

ef6bb9b1ccf4604a7bdfa07bb1475e9d.png

public class MainActivity extends AppCompatActivity {

public void showAlertDialogButtonClicked(View view) {

// setup the alert builder

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("Choose an animal");

// add a list

String[] animals = {"horse", "cow", "camel", "sheep", "goat"};

builder.setItems(animals, new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

switch (which) {

case 0: // horse

case 1: // cow

case 2: // camel

case 3: // sheep

case 4: // goat

}

}

});

// create and show the alert dialog

AlertDialog dialog = builder.create();

dialog.show();

}

}

有关单选按钮列表和复选框列表的类似示例,请参阅this answer.

笔记

>使用字符串资源而不是硬编码字符串.

>您可以将所有内容包装在扩展DialogFragment的类中,以便轻松重用对话框. (请参阅this获取帮助.)

>这些示例使用支持库来支持API 11之前的版本.因此导入应该是

import android.support.v7.app.AlertDialog;

>为简洁起见,我在上面的示例中省略了onCreate方法.那里没什么特别的.

也可以看看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值