2022年Android软件开发- .pdf
《2022年Android软件开发- .pdf》由会员分享,可在线阅读,更多相关《2022年Android软件开发- .pdf(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Android 软件开发Android 软件开发之盘点所有Dialog 对话框大合集(一)今天我用自己写的一个Demo 和大家详细介绍一个Android中的对话框的使用技巧。1. 确定取消对话框对话框中有2 个按钮通过调用 setPositiveButton 方法和 setNegativeButton 方法可以设置按钮的显示内容以及按钮的监听事件。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 40 页 - - - - - - - - - 我们使用AlerDialog 创
2、建对话框AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); 使用 builder设置对话框的title button icon 等等builder.setIcon(R.drawable.icon); builder.setTitle(你确定要离开吗?); builder.setPositiveButton( 确定 , newDialogInterface.OnClickListener() publicvoidonClick(DialogInterface dialog, intwhichButton)
3、 / 这里添加点击确定后的逻辑名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 40 页 - - - - - - - - - showDialog( 你选择了确定); ); builder.setNegativeButton( 取消 , newDialogInterface.OnClickListener() publicvoidonClick(DialogInterface dialog, intwhichButton) / 这里添加点击确定后的逻辑showDialog(
4、 你选择了取消); ); builder.create().show(); 这个 dialog用于现实onClick后监听的内容信息privatevoidshowDialog(String str) w AlertDialog.Builder(MainDialog.this ) .setMessage(str) .show(); 2. 多个按钮信息框名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 40 页 - - - - - - - - - 名师资料总结 - - -精品资
5、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 40 页 - - - - - - - - - AlertDialog.Builder builder = newAlertDialog.Builder(MainDialog.this ); builder.setIcon(R.drawable.icon); builder.setTitle(投票 ); builder.setMessage( 您认为什么样的内容能吸引您?); builder.setPositiveButton( 有趣味的 , newDia
6、logInterface.OnClickListener() publicvoidonClick(DialogInterface dialog, intwhichButton) showDialog( 你选择了有趣味的); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 40 页 - - - - - - - - - ); builder.setNeutralButton( 有思想的 , newDialogInterface.OnClickListener() public
7、voidonClick(DialogInterface dialog, intwhichButton) showDialog( 你选择了有思想的); ); builder.setNegativeButton( 主题强的 , newDialogInterface.OnClickListener() publicvoidonClick(DialogInterface dialog, intwhichButton) showDialog( 你选择了主题强的); ); builder.create().show(); 3. 列表框名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
8、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 40 页 - - - - - - - - - 这个数组用于列表选择final String mItems = item0,item1,itme2,item3,itme4,item5,item6; AlertDialog.Builder builder = newAlertDialog.Builder(MainDialog.this ); builder.setTitle( 列表选择框 ); builder.setItems(mItems, newDialogInterface.OnClickLi
9、stener() publicvoidonClick(DialogInterface dialog, intwhich) / 点击后弹出窗口选择了第几项showDialog( 你选择的id 为+ which + , + mItemswhich); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 40 页 - - - - - - - - - ); builder.create().show(); 4. 单项选择列表框名师资料总结 - - -精品资料欢迎下载 - - - -
10、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 40 页 - - - - - - - - - mSingleChoice 用于记录单选中的ID int mSingleChoiceID = -1; AlertDialog.Builder builder = newAlertDialog.Builder(MainDialog.this ); mSingleChoiceID = - 1; builder.setIcon(R.drawable.icon); builder.setTitle( 单项选择 ); builder.setSin
11、gleChoiceItems(mItems, 0, newDialogInterface.OnClickListener() publicvoidonClick(DialogInterface dialog, intwhichButton) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 40 页 - - - - - - - - - mSingleChoiceID = whichButton; showDialog( 你选择的id 为+ whichButton + , +
12、 mItemswhichButton); ); builder.setPositiveButton(确定 , newDialogInterface.OnClickListener() publicvoidonClick(DialogInterface dialog, intwhichButton) if (mSingleChoiceID 0) showDialog( 你选择的是 + mSingleChoiceID); ); builder.setNegativeButton(取消 , newDialogInterface.OnClickListener() publicvoidonClick(
13、DialogInterface dialog, intwhichButton) ); builder.create().show(); 5. 进度条框名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 40 页 - - - - - - - - - 点击进度条框按钮后开启一个线程计算读取的进度假设读取结束为 100Progress在小于 100 的时候一直在线程中做循环+ 只到读取结束后,停止线程。mProgressDialog = newProgressDialog(Mai
14、nDialog.this ); mProgressDialog.setIcon(R.drawable.icon); mProgressDialog.setTitle(进度条窗口 ); mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); mProgressDialog.setMax(MAX_PROGRESS); mProgressDialog.setButton(确定 , newDialogInterface.OnClickListener() publicvoidonClick(DialogInterface d
15、ialog, intwhichButton) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 40 页 - - - - - - - - - / 这里添加点击后的逻辑 ); mProgressDialog.setButton2( 取消 , newDialogInterface.OnClickListener() publicvoidonClick(DialogInterface dialog, intwhichButton) / 这里添加点击后的逻辑 ); mProgre
16、ssDialog.show(); newThread( this ).start(); ic voidrun() intProgress = 0; while (Progress MAX_PROGRESS) try Thread.sleep(100); Progress+; mProgressDialog.incrementProgressBy(1); catch(InterruptedException e) / TODO Auto-generated catch blocke.printStackTrace(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
17、 - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 40 页 - - - - - - - - - 6. 多项选择列表框名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 40 页 - - - - - - - - - MultiChoiceID 用于记录多选选中的id 号 存在 ArrayList中选中后 add 进 ArrayList 取消选中后 remove 出 ArrayList。ArrayList MultiChoiceI
18、D = new ArrayList (); AlertDialog.Builder builder = newAlertDialog.Builder(MainDialog.this ); MultiChoiceID.clear(); builder.setIcon(R.drawable.icon); builder.setTitle( 多项选择 ); builder.setMultiChoiceItems(mItems, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共
19、40 页 - - - - - - - - - newboolean false , false , false , false , false , false , false , newDialogInterface.OnMultiChoiceClickListener() publicvoidonClick(DialogInterface dialog, intwhichButton, booleanisChecked) if (isChecked) MultiChoiceID.add(whichButton); showDialog( 你选择的id 为+ whichButton + , +
20、 mItemswhichButton); else MultiChoiceID.remove(whichButton); ); builder.setPositiveButton(确定 , newDialogInterface.OnClickListener() publicvoidonClick(DialogInterface dialog, intwhichButton) String str = ; intsize = MultiChoiceID.size(); for(inti = 0;i size; i+) str+= mItemsMultiChoiceID.get(i) + , ;
21、 showDialog( 你选择的是 + str); ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 40 页 - - - - - - - - - builder.setNegativeButton(取消 , newDialogInterface.OnClickListener() publicvoidonClick(DialogInterface dialog, intwhichButton) ); builder.create().show(); 7. 自定义
22、布局讲到自定义布局我就得多说一说了,为什么要多说一说呢?其实自定义布局在Android 的开发中非常重要因为它能让开发者做出自己五彩缤纷的Activity 而不用去使用系统枯燥的界面。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 40 页 - - - - - - - - - 自定义 dialog有什么好处?比如我们在开发过长当中要通过介绍系统发送的一个广播弹出一个dialog . 但是 dialog必需是基于activity才能呈现出来如果没有 activity 的话
23、 程序就会崩溃。 所以我们可以写一个自定义的 dialog 把它定义成一个activity这样我们收到一条打开dialog的广播后直接启动这个 activity 程序正常运行 这就是自定义dialog的好处。注明:下面这个例子只是写了自定义dialog 没有把它单独的写在一个activity中 如果须要的话可以自己改一下。AlertDialog.Builder builder = newAlertDialog.Builder(MainDialog.this ); LayoutInflater factory = LayoutInflater.from(this ); finalView tex
24、tEntryView = factory.inflate(R.layout.test, null ); builder.setIcon(R.drawable.icon); builder.setTitle(自定义输入框 ); builder.setView(textEntryView); builder.setPositiveButton(确定 , newDialogInterface.OnClickListener() publicvoidonClick(DialogInterface dialog, intwhichButton) EditText userName = (EditText
25、) textEntryView.findViewById(R.id.etUserName); EditText password = (EditText) textEntryView.findViewById(R.id.etPassWord); showDialog( 姓名:+ userName.getText().toString() + 密码:+ password.getText().toString() ); ); builder.setNegativeButton(取消 , newDialogInterface.OnClickListener() publicvoidonClick(D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Android软件开发- 2022 Android 软件 开发
限制150内