Xamarin.Forms系列文章(一):概述

来源:互联网 发布:waifu2x caffe 编辑:程序博客网 时间:2024/06/05 08:31

【广告】168vpn 翻墙神器。多多支持

之前先说下,以后的文章都是以我自己的理解方式阐述,如果有不对的请跟我说,我会及时改正,毕竟是新东西,互相学习,我并不厉害,只是想把自己会的让更多的人学习。


Xamarin.Forms 介绍

Xamarin.Forms是一个UI跨平台的工具包,使开发人员可以轻松的在ios,android,wp三个平台共享更多的代码。保证3个平台界面尽量的一致性。


     必须满足以下需求才能开发

  • Android 4.0或更高版本
  • iOS 6.1或更高版本
  • Windows Phone 8(使用Visual Studio)

Mac系统需求

需要xamarin studio 5以上,xcode 5以上 ,OS X 10.8以上 

Windows Phone软件不能在mac OS X开发

Windows系统需求

  • Windows 8操作系统

  • Visual Studio 2013  Windows Phone SDK 安装。 


初步了解下Xamarin.Forms 项目结构


第一步创建项目,打开xamarin studio后面简称xs,因为我是mac开发的,和win系统下有区别。win系统下的xs没有ios项目,只有android项目,所以基本没人用。



第二步看到这个界面,点击右下角的next,(因为帮助新手,所以比较罗嗦)

第三步,最上面的尖头,写自己软件名字。第二个箭头比较重要,不能和其他软件重复,如果重复,安装的时候,会提示是否覆盖(类似android更新软件),ios的话没有测试过,但是可能会审核不通过 。推荐写自己软件访问的域名后台.

注意 Shared Code选项,一般选择默认的第一个,后面会学到其中的区别



下一步之后会看到让你写工程名字之类的,一般默认是软件名字,如果是中文的话自己修改一下。选择项目位置,然后继续下一步吧,就不上图了,有点啰嗦了。点击create创建


创建出来的项目如下图,mac创建出来的一般是四个项目(以前是三个,没有test项目),

我们先只管前面三个项目,第一个是forms的共享项目,一般代码,ui,都在这里面写,

其他的droid项目是android的,还有一个ios项目,一般情况不用在里面写任何代码。特殊情况需要,后面会说到。


我们先设置android项目为启动项,在android项目右键,点击红线标注的按钮。然后启动(左上角的三角形按钮)



让我们看下android和ios的运行效果,是不是一样?有砸场子的观众就要说了。背景不一样啊,ios默认普遍是白色背景,android默认普遍也是深色,还有wp也是默认黑色(说是为了省电),这个颜色后面可以自己改成更为一致.



 我们看下forms的默认代码是什么吧?找到第一个项目,展开,里面有个项目名.cs(以前一律叫app.cs),打开看里面的代码如下。

using System;

using Xamarin.Forms;

namespace helloXamarin
{
    public class App : Application
    {
        public App ()
        {
            // The root page of your application
            MainPage = new ContentPage {
                Content = new StackLayout {
                    VerticalOptions = LayoutOptions.Center,
                    Children = {
                        new Label {
                            XAlign = TextAlignment.Center,
                            Text = "Welcome to Xamarin Forms!"
                        }
                    }
                }
            };
        }

        protected override void OnStart ()
        {
            // Handle when your app starts
        }

        protected override void OnSleep ()
        {
            // Handle when your app sleeps
        }

        protected override void OnResume ()
        {
            // Handle when your app resumes
        }
    }
}

让我们来深度的解析一下这些代码的具体意思吧?MainPage是Application 类里面的一个属性,他控制着第一个页面会显示什么,从上面代码我们看的出来他创建了一个ContentPage 页面让他显示第一个页面,然后在页面content属性给了一个控件StackLayoutcontent属性是页面ContentPage 显示的入口,StackLayout 是一个流布局,我们后面会详细的介绍,现在简单介绍下,他可以设置是水平显示还是垂直显示,水平显示会一个挨着一个显示,超出的会看不到,垂直显示新控件会显示在下面。

StackLayout 设置的垂直对其是居中,代码如下VerticalOptions = LayoutOptions.Center 他里面的控件有一个lable,是一个标签控件,专门用来描述使用的,相信大家也都熟悉,文本的水平文本对其方式是居中,代码如下XAlign = TextAlignment.Center  文本显示是Text属性,这就不做详细介绍了。所以我们看到屏幕有一行字,上下居中了,只写了一份代码,就让我们实现了两个平台(vs开发的话可以三个平台)

,接下来我们看到还有三个重写的方法,OnStart 方法是程序第一次启动,会执行这里面的代码,这里的第一次启动并不是说安装后的第一次,是程序关闭后,再启动,会进入到这里,如果是到后台了,再回到软件,不会进入,软件进入后台的话会进入OnSleep方法,再回到软件会执行OnResume方法,这样我们就可以到后台的时候保存一些数据,因为到后台后,软件很有可能会直接关掉,如果内存不够,系统会kill掉我们的软件,如果用户有很多数据没有保存到后台,然后关掉了,这是不是很蛋疼呢,所以我们重新打开的时候要恢复这些数据。

好了,如果你们不是跳着看到这里,说明你们很爱学习,祝你们成功,努力才能有结果。

这次的教程就到这里,让我们初步了解到了forms程序。





广告时间,翻墙改ip推荐使用168vpn

0 0
原创粉丝点击