Visual Studio跨平台开发(5):Xamarin Android多页面应用开发
2015-06-27 20:45
483 查看
前言
大部份的Android 都具有实体或虚拟的Back键. 因此在处理多页面应用程序时, 与先前所介绍的iOS Navigation controller 比较起来会简单许多.
1. 开启Visual Studio 并新增Android Application 专案并命名为Lab4-MultiScreen
2. 在Layout文件夹中新增Second.axml
在Second.axml 中拖放1个TextView并标示此为第2个Activity
2. 在专案底下新增一个SecondActivity.cs. 在OnCreate事件中选写以下代码:
view source
print?
3. 开启Activity1.cs, 在class name的地方按滑鼠右键=>重构=>重新命名. 将类别名称改为FirstActivity. 记得在方案总览中的档名也一并改为FirstActivity.cs
4. 开启Main.axml, 在画面中放置1个Button并指定Text属性值为”Load Second Activity”并将id 的属性值变更为”@+id/ShowSecond”
5. 开启FirstActivity.cs, 在OnCreate事件中输入以下代码:
view source
print?
Button的click处理函数中, 我们将使用3种方法来载入SecondActivity.
方法一: 使用内建的StartActivity方法, 代码如下:
view source
print?
方法二: 建立Intent, 然后使用StartActivity载入其他SecondActivity. 代码如下:
view source
print?
方法三: 建立Intent, 并通过Intent.PutExtra载入Activity并传入参数. 代码如下:
view source
print?
上述的3种方式, 第1个跟第2个是一样的, 使用第1种方式, 会隐含简历一个Intent对象。
6. 执行专案并检视结果.
7. 通过上述的第3个方法, 可以像QueryString般传递参数到下一个Activity. 现在我们开启SecondActivity.cs. 通过Intent的GetStringExtra方法来取得参数的值. 在Oncreate方法中输入以下代码:
view source
print?
在上述代码中, 我们通过Intent的GetStringExtra(“参数名称”)来取得字串型別的参数. 事实上还可以通过类似的方法取得不同型別的参数值. 如下图所示:
而??陈述式则是用来判断是否为Null的方便写法. 若取出的值为Null则显示后面的字串.
8. 执行专案并检视结果, 如下图所示
大部份的Android 都具有实体或虚拟的Back键. 因此在处理多页面应用程序时, 与先前所介绍的iOS Navigation controller 比较起来会简单许多.
1. 开启Visual Studio 并新增Android Application 专案并命名为Lab4-MultiScreen
2. 在Layout文件夹中新增Second.axml
在Second.axml 中拖放1个TextView并标示此为第2个Activity
2. 在专案底下新增一个SecondActivity.cs. 在OnCreate事件中选写以下代码:
view source
print?
1 | SetContentView(Resource.Layout.Second); |
4. 开启Main.axml, 在画面中放置1个Button并指定Text属性值为”Load Second Activity”并将id 的属性值变更为”@+id/ShowSecond”
5. 开启FirstActivity.cs, 在OnCreate事件中输入以下代码:
view source
print?
01 | //载入页面 |
02 |
03 | SetContentView(Resource.Layout.Main); |
04 |
05 | //声明并取得按钮对象, 并在按钮的click事件处理中载入SecondActivity |
06 |
07 | Button button = FindViewById< Button >(Resource.Id.showSecond); |
08 |
09 | button.Click += delegate |
10 |
11 | {…….按钮处理函数} |
方法一: 使用内建的StartActivity方法, 代码如下:
view source
print?
1 | //呼叫其他Activity的第一种方法(隐含的建立Intent) |
2 |
3 | StartActivity(typeof(SecondActivity)); |
view source
print?
1 | //呼叫其他Activity的第二种法, 建立Intent, 然后使用StartActivity载入其他Activity |
2 |
3 | var second = newIntent(this,typeof(SecondActivity)); |
4 |
5 | StartActivity(second); |
view source
print?
1 | //使用Intent.PutExtra载入Activity并传入参数 |
2 |
3 | var second = newIntent(this,typeof(SecondActivity)); |
4 |
5 | second.PutExtra("FirstData","Data from FirstActivity"); |
6 |
7 | StartActivity(second); |
6. 执行专案并检视结果.
7. 通过上述的第3个方法, 可以像QueryString般传递参数到下一个Activity. 现在我们开启SecondActivity.cs. 通过Intent的GetStringExtra方法来取得参数的值. 在Oncreate方法中输入以下代码:
view source
print?
01 | //载入页面 |
02 |
03 | SetContentView(Resource.Layout.Second); |
04 |
05 | //声明并取得TextView对象 |
06 |
07 | var label = FindViewById(Resource.Id.screen2Label); |
08 |
09 | //通过Intent.GetStringExtra取得从前一个Activity所传来的讯息 |
10 |
11 | label.Text = Intent.GetStringExtra("FirstData") ??"Data not available"; |
而??陈述式则是用来判断是否为Null的方便写法. 若取出的值为Null则显示后面的字串.
8. 执行专案并检视结果, 如下图所示
结语
在本篇文章中, 我们介绍Android 应用程序在多页面中的切换, 相较于iOS, Android 对于多页面的处理较为方便. 另外在Android中也提供Tab控制项在多页面之间进行切换.相关文章推荐
- Android Studio 新建项目的R文件丢失的解决方法
- Visual Studio跨平台开发(4):Xamarin Android控制项介绍
- Android视图切换库的使用之SwitchLayout的用法及实际应用案例
- Android Studio Mac版快捷键
- Android Volley完全解析(一),初识Volley的基本用法
- Android与与服务器交换数据、上传、下载、读取文件
- Android OpenGL ES(七)----理解纹理与纹理过滤
- Android打造带删除的EditText并且实现输入框密码显示、隐藏
- android菜鸟学习笔记7----android布局(二)
- android菜鸟学习笔记6----android布局(一)
- Error inflating class android.support.v4.view.ViewPager问题的解决办法
- Android自定义控件实现登陆界面以及SharedPreferences实现记住密码功能
- 解决 如何删除Android studio中创建的工程!
- Android SnackBar
- Android在全屏状态下键盘覆盖输入框问题
- android.intent.action大全和用法收集
- Android Studio安装遇到的问题及解决方法汇总
- Android 音频焦点(Audio Focus)
- Android的canvas.rotate()与canvas.translate研究
- android横竖屏切换布局处理及屏幕旋转处理