Visual Studio 跨平台开发实战(5) - Xamarin Android 多页面应用程式开发
来源:互联网 发布:golang defer 编辑:程序博客网 时间:2024/05/24 05:47
大部份的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事件中选写以下程式码:
1
SetContentView(Resource.Layout.Second);
3. 开启Activity1.cs, 在class name的地方按滑鼠右鍵=>重构=>重新命名. 将类别名称改为FirstActivity. 记得在方案总管中的档名也一并改为FirstActivity.cs
4. 开启Main.axml, 在画面中放置1个Button并指定Text属性值为”Load Second Activity”并将id 的属性值变更为”@+id/ShowSecond”
5. 开启FirstActivity.cs, 在OnCreate事件中撰写以下程式码:
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
{…….按钮处理函式}
Button的click处理函式中, 我们将使用3种方法来载入SecondActivity.
- 方法一: 使用内建的StartActivity方法, 程式码如下:
1
//呼叫其他Activity的第一种方法(隐含的建立Intent)
2
3
StartActivity(
typeof
(SecondActivity));
- 方法二: 建立Intent, 然后使用StartActivity载入其他SecondActivity. 程式码如下:
1
//呼叫其他Activity的第二种法, 建立Intent, 然后使用StartActivity载入其他Activity
2
3
var second =
new
Intent(
this
,
typeof
(SecondActivity));
4
5
StartActivity(second);
- 方法三: 建立Intent, 并透过Intent.PutExtra载入Activity并传入参数. 程式码如下:
1
//使用Intent.PutExtra载入Activity并传入参数
2
3
var second =
new
Intent(
this
,
typeof
(SecondActivity));
4
5
second.PutExtra(
"FirstData"
,
"Data from FirstActivity"
);
6
7
StartActivity(second);
上述的3种方式, 第1个跟第2个是一样的, 使用第1种方式, 会隐含简历一个Intent物件。
6. 执行专案并检视结果.
7. 透过上述的第3个方法, 可以像QueryString般传递参数到下一个Activity. 现在我们开启SecondActivity.cs. 透过Intent的GetStringExtra方法来取得参数的值. 在Oncreate方法中撰写以下程式码:
01
//载入页面
02
03
SetContentView(Resource.Layout.Second);
04
05
//宣告并取得TextView物件
06
07
var label = FindViewById<textview>(Resource.Id.screen2Label);
08
09
//透过Intent.GetStringExtra取得从前一个Activity所传来的讯息
10
11
label.Text = Intent.GetStringExtra(
"FirstData"
) ??
"Data not available"
;</textview>
在上述程式码中, 我们透过Intent的GetStringExtra(“参数名称”)来取得字串型別的参数. 事实上还可以透过类似的方法取得不同型別的参数值. 如下圖所示:
而??陈述式则是用来判断是否为Null的方便写法. 若取出的值为Null则显示后面的字串.
8. 执行专案并检视结果, 如下图所示
结语
在本篇文章中, 我们介绍Android 应用程式在多页面中的切换, 相较于iOS, Android 对于多页面的处理较为方便. 另外在Android中也提供Tab控制项在多页面之间进行切换.
本文转自:Terry's IT Note
了解更多移动跨平台解决方案,请访问:http://xamarin.csdn.net
- Visual Studio 跨平台开发实战(5) - Xamarin Android 多页面应用程式开发
- Visual Studio 跨平台开发实战(3) - Xamarin iOS 多页面应用程式开发
- Visual Studio 跨平台开发实战--- Hello Xamarin! [Visual Studio + C# + Xamarin = iOS/Android/Windows Apps ]
- Visual Studio 跨平台开发实战(1) - Hello Xamarin!
- Visual Studio 跨平台开发实战(4) - Xamarin Android 基本控制项介绍
- Visual Studio 跨平台开发实战(2) - Xamarin.iOS 基本控制项介绍
- [转]Xamarin-Visual Studio开发iOS、Android应用
- Xamarin Studio开发Android应用
- [Visual Studio & Xamarin] 开发架构(三)- 跨平台的MVVMCross与portable class library-Android
- 用Visual studio和Xamarin构建移动开发平台
- Visual Studio 2012+Xamarin开发安卓应用
- Visual Studio 2012+Xamarin开发安卓应用
- 使用Xamarin+Visual Studio搭建Android开发环境
- [Visual Studio & Xamarin] 开发架构(四)-跨平台的MVVMCross与portable class library–Windows Phone 8
- Xamarin ios 教程 Xamarin跨平台开发 C#苹果应用开发
- Xamarin+SignalR开发Android应用
- 用Visual Studio 2010开发Android应用
- 用Visual Studio 2010开发Android应用
- 【 Confluence教程】一、开始你的 Confluence 之旅
- poj 3628 Bookshelf 2
- FileInfo文件属性
- 秒杀韩剧来自星星的你的火爆程度,来自高端大气上档次的高帅富斗地主,闪亮登场
- System.getProperty()方法可以获取的值 java
- Visual Studio 跨平台开发实战(5) - Xamarin Android 多页面应用程式开发
- UILabel的高度和宽度计算
- Android利用Fiddler进行网络数据抓包
- C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的用法
- Python内建函数(H)
- java编译错误:java 需要class,interface或enum
- ZigBee为什么能抗干扰?
- Tomcat conf目录下web.xml,tomcat-users.xml,server.xml以及context.xml的作用
- 亲和数