大家好,我又悄咪咪的來了,在上一篇的Xamarin文章中簡單介紹了Xamarin的安裝過程,媽蛋沒想到很多小朋友很感激我,讓他們成功的安裝了Xamarin,然后。。。。。。成功的顯示了經典的兩個單詞(別問我那兩個經典的單詞是什么,我用周易進行了推斷,大概是“Hello world!”,233333333,我太屌了!),對了這里再補充一個,貌似微軟的模擬器不能用,我用的是真機進行調試。當然相信大家這段時間在園子里或者其他地方找到了許多的Xamarin的學習之道,在上一篇的文章中張善友大神也希望能從Android和IOS的相關知識學起,但是這條入門之路我思量了一下並不適合我,因為相比來說,我更熟悉XAML,我最初買的是劉鐵猛的《深入淺出WPF》,這本書只有300來頁,用了一個月的時間看完了,然后找了一個相關的工作做WPF的客戶端開發,在此期間買了林政的《深入淺出windows phone 8.1 應用開發》給公司開發了半個WinPhone APP(開發完了沒上商店,我想很多人也有同樣WP開發的經歷),后來也做了Silverlight的相關的開發工作,所以呢(這個轉折有點大),我可以肯定的告訴大家熟悉WPF或者Silverlight對你學習Xamarin.Forms是有很大的幫助的,當然你熟悉WP的開發也不錯,以前我不知道Android的Activity(其他的三個組件沒細看),最近我就看了下這個,其實就是傳說中的頁面周期(媽蛋,我都不知道為什么要起個名字叫Activity,外行人表示懵逼)。好了,廢話就嗶嗶這么多,還是寫點什么東西,讓大神們來鄙視鄙視。。。。。。順便提高自己!最后呢,我想說的是:好吧,我承認了解Android的一些基礎知識是很有幫助的,大家多少還是了解下,不說精通至少得知道那是什么,干什么的,在項目中看到了不會懵逼。
從哪里開始呢???嗯,我們先新建一個Forms頁面吧,什么?你不知道怎么建,好吧,騷年,你贏了,我們一步一步的來。
新建一個Xamarin.Forms的項目(不知道?兄弟你只有看上一篇了),然后再可移植的項目上點擊右鍵選擇添加-->新建項,然后在Cross-Platform中選擇Forms Xaml Page(名字取得很隨意,大家要淡定),如下:
添加完成后,雙擊打開
如上圖,一個完整的<xxxx></xxxx>或者<xxxx />就是一個標簽,借用劉鐵猛劉大哥的一句話為大家簡單說下什么XAML:XAML是一種聲明式語言,當你看到一個標簽,就意味着聲明了一個對象,對象之間的層級關系要么並列、要么包含,全都體現在標簽的關系上。用上圖的舉例就是一個ContentPage對象包含了一個Label對象。
現在我們來了解幾個東西(其實都是命名空間),第一個是xmlns,如果你知道WPF或者Silverlight的話就知道這個的作用等同於using,唯一的區別在於xmlns必須要一個映射名
如:xmlns:映射名=“xxxx.xxxx.xxxx.....”,就相當於C#中的using 映射名=xxxx.xxxx.xxxx....
現在我們說說xmlns="http://xamarin.com/schemas/2014/forms"這個是什么意思,上頭我們才說了xmlns必須有個映射名,為什么這個沒有!!!!????這個呢是Xamarin.Forms的核心命名空間,它包含了構建Xamarin.Forms的用戶界面的大部分控件類,他沒有使用映射名,所以她也就是頁面的默認命名空間,好吧,文字描述不是強項,簡單的說,不要映射名的被這個給占用了,所以其他的都必須用映射名。當然你也可以在這個的上面加一個映射名像這樣:
如果我上面描述的不是很給力,你看這個應該也能了解一點點了撒,如果不了解也沒關系,畢竟XAML的命名空間寫書的話是可以寫一章來進行講解的,這里呢都是簡單的說一下。
接着說,xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"這個就是XAML的命名空間,包含XAML的使用特性,簡單描述,舉個例子,我們新建一個記事本,保存的時候都可以選擇UTF-8,還是Union等編碼方式,這個的作用就相當於這個編碼方式,再簡單點就是這個XAML的符合微軟2009的XAML規范,好吧,我學藝不精,感覺總是不能描述的太清楚,還是看圖吧
好吧,前兩個就說到這里,希望對大家有幫助,如果還比較模糊,不怪你,怪我,你也可以在看看上面的兩張圖,看下w和h寫的地方再理解理解。
繼續x:Class="FormsTest01.From_01",這個我就真的簡單說了,x:Class="xxxx.xxxx"就是告訴我們這個XAML要與哪個類合並
命名空間就說到這兒。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
如果你想學習Xamarin.Forms,希望你能找書,找博客等等去系統的學習下XAML,這是基礎,你必須得會,不然沒得談,還有MVVM。。。用四川話講就是XAML相關的那一啪啦。