对话框是程序运行中的弹出窗口。例如,当用户要删除一个联系方式时,会弹出一个
创新互联成立与2013年,先为汪清等服务建站,汪清等地企业,进行企业商务咨询服务。为汪清企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。对话框,让用户确认是否真的要删除。
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(); } }); } }
效果如下,点击按键后:
另一种对话框,如下代码:
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(); } }); } }
以上两种模式如下图:
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。