Xamarin.Android 入门之:Xamarin快速入门

一、 准备工作

 1.新建一个项目取名为phoneword

 

2.在项目创建好之后,让我们展开“Resources”文件夹然后找到并打开该文件夹下的“layout”文件夹,双击main.axml在Android设计器中打开它,这是我们的布局文件。

3.让我们选择“你好世界,请单击我”在设计表面上的按钮,并按删除键将其删除。从工具箱(左侧的区域),在搜索字段中输入text,并将一个Text (Large)控件拖动到设计图面中心的区域:

4.选择我们拖进去控件,我们可以在属性窗口中修改输入的文本

 

5.然后我们拖一个简单的文本控件到设计器,并放置在刚才我们添加的控件下面

 

6.在设计器中选中刚才添加的控件,我们可以在属性窗口中我们可以改变它的idtext

 

7.让我们拖动一个“按钮”到设计器,并改变它的id和text

8.然后我们再拖一个按钮在刚才的按钮下面,并设置其属性,然后ctrl+s保存一下

 

二、代码

 1.现在我们来添加一些代码,右击项目,选择“添加》新建项“添加一个c#代码文件取名为PhoneTranslator.cs

    

 

2.将下列代码copy进去

 1 namespace Phoneword
 2 {
 3     public static class PhonewordTranslator
 4     {
 5         public static string ToNumber(string raw)
 6         {
 7             if (string.IsNullOrWhiteSpace(raw))
 8                 return "";
 9             else
10                 raw = raw.ToUpperInvariant();
11 
12             var newNumber = new StringBuilder();
13             foreach (var c in raw)
14             {   
15                    if (" -0123456789".Contains(c))
16                     newNumber.Append(c);
17                 else 
18                 {
19                     var result = TranslateToNumber(c);
20                     if (result != null)
21                         newNumber.Append(result);
22                 }
23                 // otherwise we've skipped a non-numeric char
24             }
25             return newNumber.ToString();
26         }
27         static bool Contains(this string keyString, char c)
28         {
29             return keyString.IndexOf(c) >= 0;
30         }
31         static int? TranslateToNumber(char c)
32         {
33             if ("ABC".Contains(c))
34                 return 2;
35             else if ("DEF".Contains(c))
36                 return 3;
37             else if ("GHI".Contains(c))
38                 return 4;
39             else if ("JKL".Contains(c))
40                 return 5;
41             else if ("MNO".Contains(c))
42                 return 6;
43             else if ("PQRS".Contains(c))
44                 return 7;
45             else if ("TUV".Contains(c))
46                 return 8;
47             else if ("WXYZ".Contains(c))
48                 return 9;
49             return null;
50         }
51     }
52 }
View Code

3.下一步,我们将添加代码来连接用户。让我们双击项目中的MainActivity类打开它(也就是Android中的活动)。

4.找到MainActivity类中的Oncreate方法,删除模板中的代码,我们将在Oncrate中书写代码

5.下面我们需要找到我们在设计器中添加的控件,让我们在oncreate方法中添加以下代码(在SetContentView方法后面)。

1  EditText phoneNumberText = FindViewById(Resource.Id.PhoneNumberText);
2 Button translateButton = FindViewById
View Code

6.下面我们添加Translate button点击事件的代码 在上一步后面

           // 设置callbutton为不能点callButton.Enabled = false;// 设置translatedNumber为空string translatedNumber = string.Empty;//添加translateButton的点击事件translateButton.Click += (object sender, EventArgs e) =>{//把用户的电话号码转换为数字translatedNumber = PhonewordTranslator.ToNumber(phoneNumberText.Text);if (String.IsNullOrWhiteSpace(translatedNumber))//如果有空或者空格
                {callButton.Text = "Call";callButton.Enabled = false;}else{callButton.Text = "Call " + translatedNumber;callButton.Enabled = true;}};
View Code

7. 然后添加Call butto点击事件的代码

           //设置callButton的点击事件callButton.Click += (object sender, EventArgs e) =>{//在按钮被点后尝试打电话var callDialog = new AlertDialog.Builder(this);callDialog.SetMessage("Call " + translatedNumber + "?");callDialog.SetNeutralButton("Call", delegate {// 创建打电话事件var callIntent = new Intent(Intent.ActionCall);callIntent.SetData(Android.Net.Uri.Parse("tel:" + translatedNumber));StartActivity(callIntent);});callDialog.SetNegativeButton("Cancel", delegate { });//弹出提示框
                callDialog.Show();};
View Code

8.最后让我们给应用程序添加一个拨打电话的权限:右击项目》属性》Android Manifest  勾选call_phone

 

9.右击解决方案》,重新生成解决方案,如果没有报错表示我们程序已经完成了,点击运行按钮运行,最后运行效果如图。

 

 


转载于:https://www.cnblogs.com/huguodong/p/5814533.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部