Android软件开发1-2

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Android软件开发Android软件开发之盘点所有Dialog对话框大合集(一)今天我用自己写的一个Demo和大家详细介绍一个Android中的对话框的使用技巧。1.确定取消对话框对话框中有2个按钮通过调用setPositiveButton方法和setNegativeButton方法可以设置按钮的显示内容以及按钮的监听事件。我们使用AlerDialog创建对话框AlertDialog.Builderbuilder=newAlertDialog.Builder(MainDialog.this);使用builder设置对话框的titlebuttonicon等等builder.setIcon(R.drawable.icon);builder.setTitle(你确定要离开吗?);builder.setPositiveButton(确定,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton){//这里添加点击确定后的逻辑showDialog(你选择了确定);}});builder.setNegativeButton(取消,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton){//这里添加点击确定后的逻辑showDialog(你选择了取消);}});builder.create().show();这个dialog用于现实onClick后监听的内容信息privatevoidshowDialog(Stringstr){wAlertDialog.Builder(MainDialog.this).setMessage(str).show();}2.多个按钮信息框AlertDialog.Builderbuilder=newAlertDialog.Builder(MainDialog.this);builder.setIcon(R.drawable.icon);builder.setTitle(投票);builder.setMessage(您认为什么样的内容能吸引您?);builder.setPositiveButton(有趣味的,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton){showDialog(你选择了有趣味的);}});builder.setNeutralButton(有思想的,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton){showDialog(你选择了有思想的);}});builder.setNegativeButton(主题强的,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton){showDialog(你选择了主题强的);}});builder.create().show();3.列表框这个数组用于列表选择finalString[]mItems={item0,item1,itme2,item3,itme4,item5,item6};AlertDialog.Builderbuilder=newAlertDialog.Builder(MainDialog.this);builder.setTitle(列表选择框);builder.setItems(mItems,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhich){//点击后弹出窗口选择了第几项showDialog(你选择的id为+which+,+mItems[which]);}});builder.create().show();4.单项选择列表框mSingleChoice用于记录单选中的IDintmSingleChoiceID=-1;AlertDialog.Builderbuilder=newAlertDialog.Builder(MainDialog.this);mSingleChoiceID=-1;builder.setIcon(R.drawable.icon);builder.setTitle(单项选择);builder.setSingleChoiceItems(mItems,0,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton){mSingleChoiceID=whichButton;showDialog(你选择的id为+whichButton+,+mItems[whichButton]);}});builder.setPositiveButton(确定,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton){if(mSingleChoiceID0){showDialog(你选择的是+mSingleChoiceID);}}});builder.setNegativeButton(取消,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton){}});builder.create().show();5.进度条框点击进度条框按钮后开启一个线程计算读取的进度假设读取结束为100Progress在小于100的时候一直在线程中做循环++只到读取结束后,停止线程。mProgressDialog=newProgressDialog(MainDialog.this);mProgressDialog.setIcon(R.drawable.icon);mProgressDialog.setTitle(进度条窗口);mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);mProgressDialog.setMax(MAX_PROGRESS);mProgressDialog.setButton(确定,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton){//这里添加点击后的逻辑}});mProgressDialog.setButton2(取消,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton){//这里添加点击后的逻辑}});mProgressDialog.show();newThread(this).start();icvoidrun(){intProgress=0;while(ProgressMAX_PROGRESS){try{Thread.sleep(100);Progress++;mProgressDialog.incrementProgressBy(1);}catch(InterruptedExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}6.多项选择列表框MultiChoiceID用于记录多选选中的id号存在ArrayList中选中后add进ArrayList取消选中后remove出ArrayList。ArrayListIntegerMultiChoiceID=newArrayListInteger();AlertDialog.Builderbuilder=newAlertDialog.Builder(MainDialog.this);MultiChoiceID.clear();builder.setIcon(R.drawable.icon);builder.setTitle(多项选择);builder.setMultiChoiceItems(mItems,newboolean[]{false,false,false,false,false,false,false},newDialogInterface.OnMultiChoiceClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton,booleanisChecked){if(isChecked){MultiChoiceID.add(whichButton);showDialog(你选择的id为+whichButton+,+mItems[whichButton]);}else{MultiChoiceID.remove(whichButton);}}});builder.setPositiveButton(确定,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton){Stringstr=;intsize=MultiChoiceID.size();for(inti=0;isize;i++){str+=mItems[MultiChoiceID.get(i)]+,;}showDialog(你选择的是+str);}});builder.setNegativeButton(取消,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhichButton){}});builder.create().show();7.自定义布局讲到自定义布局我就得多说一说了,为什么要多说一说呢?其实自定义布局在Android的开发中非常重要因为它能让开发者做出自己五彩缤纷的Activity而不用去使用系统枯燥的界面。自定义dialog有什么好处?比如我们在开发过长当中要通过介绍系统发送的一个广播弹出一个dialog.但是dialog必需是基于activity才能呈现出来如果没有activity的话程序就会崩溃。所以我们可以写一个自定义的dialog把它定义成一个activity这样我们收到一条打开dialog的广播后直接启动这个activity程序正常运行~~这就是自定义dialog的好处。注明:下面这个例子只是写了自定义dialog没有把它单独的写在一个activity中如果须要的话可以自己改一下。AlertDialog.Builderbuilder=newAlertDialog.Builder(MainDialog.this);LayoutInflaterfactory=LayoutInflater.from(this);finalViewtextEntryView=factory.inflate(R.layout.test,null);builder.setIcon(R.drawable.icon);builder.setTitle(自定

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功