android 对话框窗口,Android 对话框详解(一)

本文介绍了Android系统中的对话框,它是程序运行中的弹出窗口。系统提供了四种对话框,重点讲解了警告对话框(AlertDialog),包括其功能及创建步骤,还给出了创建和显示警告对话框的实例代码,展示了两种不同风格的对话框效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对话框是程序运行中的弹出窗口。例如,当用户要删除一个联系方式时,会弹出一个

对话框,让用户确认是否真的要删除。

Android系统提供了四种对话框:警告对话框 (AlertDialog)、进度对话框(ProgressDialog)、日期选择对话框(DatePickerDialog)和时间选择对话框(TimePickerDialog)

警告对话框(AlertDialog)

AlertDialog是一个提示窗口,要求用户作出选择。该对话框中一般会有几个选择按钮、标题信息和提示信息。

在程序中创建对话框需要如下步骤:

1、获得 AlertDialog的静态内部类 Builder 对象,由该类来创建对话框。

2、通过 Buidler对象设置对话框的标题、按钮以及按钮将要响应的事件。

3、调用Builder的createO方法创建对话框。

4、调用AlertDialog的showO方法显示对话框。

实例代码如下:public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final TextView mytext=(TextView)this.findViewById(R.id.text1);

final AlertDialog.Builder builder=new AlertDialog.Builder(this);//创建builder对象

Button btn1=(Button)this.findViewById(R.id.btn_main1);

btn1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

builder.setMessage("Are you sure!")

.setPositiveButton("OK",new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

// TODO Auto-generated method stub

mytext.setText("success");

}

}).setNegativeButton("CANCEL",new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

// TODO Auto-generated method stub

mytext.setText("cancel");

}

});

AlertDialog ad=builder.create();

ad.show();

}

});

}

效果如下,点击按键后:

d907828e906b6564dbc595bd301e4538.png

另一种对话框,如下代码:public class MainActivity extends Activity {

private static final int menu1=Menu.FIRST;

private static final int menu2=Menu.FIRST+1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final TextView mytext=(TextView)this.findViewById(R.id.text1);

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

final String[] message={"--------","*******","++++++++"};

Button btn1=(Button)this.findViewById(R.id.btn_main1);

btn1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

//两种不同风格的对话框

builder.setTitle("Please choose...")

.setSingleChoiceItems(message, -1, new DialogInterface.OnClickListener() {

//.setItems(message,new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

// TODO Auto-generated method stub

mytext.setText(message[arg1]);

}

});

AlertDialog ad=builder.create();

ad.show();

}

});

}

}

以上两种模式如下图:

fe2cf7bf96de6afb59dd351446ddcfb7.png c05a2849bb342d0177e11df8da8deb8e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值