




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、准备工作1.创建一个空的解决方案,并命名为Phoneword2.右击解决方案新建-新建项目并命名为Phoneword_Droid二、界面1.打开Resources文件夹-layout文件夹双击打开Main.axml2.然后将会出现下面的界面3.接着我们选择这个Button并删除(按下Delete),并从左边的工具箱中拖拽一个Text(Large)控件到该界面中,如下所示:4.同时还要通过属性窗口修改Text的值:5.紧接着拖拽一个Plain Text控件到之前的Text控件下方,并修改Text属性为1-855-XAMARIN。接着拖拽一个Button控件到Plain Text控件下方:同时修改Button控件的id和text:6.接着再拖拽一个Button控件到TranslateButton控件下方,并设置该id属性为+id/CallButton以及Text为Call,最终效果如下:三、代码1.右击该项目,添加-新建项,选择类,并设置类的名称为PhoneTranslator,然后在其中写入如下代码(这些代码的重要功能是将字符串转换成正确格式的电话号码):1namespacePhoneword_Droid 2 3publicstaticclassPhoneTranslator 4 5publicstaticstringToNumber(string raw) 6 7if (string.IsNullOrWhiteSpace(raw) 8return; 9else10 raw = raw.ToUpperInvariant();1112varnewNumber = newStringBuilder();13foreach (var c in raw)14 15if ( -0123456789.Contains(c)16newNumber.Append(c);17else18 19var result = TranslateToNumber(c);20if (result != null)21newNumber.Append(result);22 23 24returnnewNumber.ToString();25 2627publicstaticint? TranslateToNumber(char c)28 29if (ABC.Contains(c)30return2;31elseif (DEF.Contains(c)32return3;33elseif (GHI.Contains(c)34return4;35elseif (JKL.Contains(c)36return5;37elseif (MNO.Contains(c)38return6;39elseif (PQRS.Contains(c)40return7;41elseif (TUV.Contains(c)42return8;43elseif (WXYZ.Contains(c)44return9;45returnnull;46 47 48 然后我们打开MainActivity.cs文件:2.然后我们首先要做的是通过FindViewById获取这些控件,OnCreate中代码如下所示(需要先成功生成一次,防止Resource.Id下没有对应的控件id):1base.OnCreate(bundle);2SetContentView(Resource.Layout.Main);3EditTextphoneNumberText = FindViewById(Resource.Id.PhoneNumberText);4 Button translateButton = FindViewById3.然后我们需要给translateButton绑定监听事件,判断输入的字符是否为有效的电话号码,如果是则启用CallButton否则不启用,同时还修改CallButton的文字(在上面代码后面追加):stringtranslatedNumber = string.Empty; 2translateButton.Click += (object sender, EventArgs e) = 3 4translatedNumber = PhoneTranslator.ToNumber(phoneNumberText.Text); 5if (String.IsNullOrWhiteSpace(translatedNumber) 6 7callButton.Text = Call; 8callButton.Enabled = false; 9 10else11 12callButton.Text = Call + translatedNumber;13callButton.Enabled = true;14 15 ;4.最后我们需要绑定callButton的监听事件,以便能够在用户点击后弹出对话框确认用户是否需要拨打,并拨打电话(依然是接着上面的追加):1callButton.Click += (s, e) = 2 3/对话框 4varcallDialog = newAlertDialog.Builder(this); 5 6/对话框内容 7callDialog.SetMessage(Call + translatedNumber + ?); 8 9/拨打按钮10callDialog.SetNeutralButton(Call, delegate11 12/使用意图拨打电话13varcallIntent = newIntent(Intent.ActionCall);1415/将需要拨打的电话设置为意图的参数16callIntent.SetData(Android.Net.Uri.Parse(tel: + translatedNumber);1718StartActivity(callIntent);19 );2021/取消按钮22callDialog.SetNegativeButton(Cancel, delegate );2324/显示对话框25callDialog.Show();26 ;四、运行还需要添加对应的权限笔者这里采用的是x86下的模拟机,并不是A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鱼塘承包与渔业信息化建设合作合同
- 跨区域待岗人员安置与生活补贴协议
- 2025公务员面试题做法及答案
- 租赁流程自动化-洞察及研究
- 2025至2030中国透明质酸皮肤填充剂行业产业运行态势及投资规划深度研究报告
- 教育培训市场工作年终总结
- 2025至2030移动存储设备产业市场发展分析及前景趋势与投资管理报告
- 大学生宣传部年终总结
- 消防安全服务人员培训课件
- 2025至2030中国电镀铝浆行业产业运行态势及投资规划深度研究报告
- GB/T 3921-2008纺织品色牢度试验耐皂洗色牢度
- GB/T 12612-2005多功能钢铁表面处理液通用技术条件
- 三级安全教育档案模板(完整版)
- 2023年公务员职业道德培训考试题库
- 第三单元名著导读《朝花夕拾》之《二十四孝图》详解 课件(共17张ppt) 部编版语文七年级上册
- 八纲辨证-课件
- 房产归属协议书范本
- 服务类合同补充协议
- 学生休学申请表(新)
- 350吨履带吊地基承载力验算
- TSG-R0005-2022《移动式压力容器安全技术监察规程》(2022版)
评论
0/150
提交评论