Xamarin.Forms學習歷程(二)

哈哈哈~~我最近在寫的Xamarin.Forms工程終于到了收尾階段了,主體功能都實現(xiàn)了,修復一些小Bug以及添加些小功能就算完成了,太高興了,心里滿滿的成就感,特別是安卓端界面完整呈現(xiàn)的時候。今天講點知識點,搭建一個小程序。

認識Xamarin.forms的工程結構##

我們先撇開安卓和iOS,先來了解公共部分。我們繼續(xù)看我們上期寫的HelloWorld程序

Snip20160811_28.png

先看這一塊,項目剛開始時就存在這些文件,我們來逐一看一下這些文件都是干嘛用的,以及里面放些什么文件。
估計有人會問我,為什么我的是中文版,其實我可以告訴你我也不知道,具體地說我的是中英文混合版,


Snip20160811_29.png

不閑扯了,還是回到剛才所說的,

  • 引用:這個我目前還沒用到過,具體內容我不清楚,等我弄明白再回來補上吧(todo)
  • 包:這個是導入一些庫,就像iOS工程里有時候需要導入一些framework一樣。
  • Properties:這個我也不清楚(todo)
  • App.xaml:這個文件比較重要,是程序的入口,和iOS 里 AppDelegate這個文件的功能有些類似,所以定義初始界面就在這里面。
  • HelloWorldPage:這個文件和Xcode生成Single APP是生成的啟動界面一樣,默認第一個界面,刪除不影響的。這里我們點開前面的小三角會發(fā)現(xiàn)這里面其實有兩個文件:HelloWordPage.xamlHelloWordPage.xaml.cs,這里我說明一下,HelloWordPage.xaml相當于view,不涉及業(yè)務邏輯,只處理一些控件的顯示和所要展示內容數(shù)據(jù)的綁定,相當于iOS里面的View。而HelloWordPage.xaml.cs里面正常情況下是寫業(yè)務邏輯的,它和iOS里的ViewController很像,所以在這里面其實也是可以寫界面的。不過代碼規(guī)范正常情況下是不允許這么做的,但特殊情況可以理解。這兩個文件是相關聯(lián)的,綁定在一起。前段時間我把幾個文件導入到其他工程,結果他們的關系就不存在了,我目前還不知道怎么讓獨立的兩個文件綁定在一起。
  • packages:這個是包文件版本文件,工程內所有導入的包信息都可以在這里面看到,所以上傳至git時不需要把包都上傳,只需要把這個文件導入就可以了。
    好了,說了這么多我們來練一下手,按照自己的理解寫個小小的應用程序。

優(yōu)化版HelloWorld##

創(chuàng)建文件###

Snip20160811_30.png
Snip20160811_31.png

看到這個界面可能你會覺得無從下手,不要慌,我們先和他們握個手,認識一下

  • Forms ContentPage: 這里有個訣竅,看到Page,咱們就可以把它看成ViewController,這樣就好理解了,F(xiàn)orms ContentPage就是創(chuàng)建一個Forms ContentPage.cs文件,也就是用純C#代碼寫界面。
  • Forms ContentPage Xaml:一般情況用這個,他會創(chuàng)建一個ContentPage.xaml文件和ContentPage.xaml.cs文件,
  • Forms ContentView:這個是生成用純C#代碼在定義View的文件
  • Forms ContentView Xaml:這個和之前的類似,不用說你也應該能猜到。
Snip20160811_32.png

這里我們新建一個MyHelloWorld文件,讓我們在里面寫點東西

Snip20160811_33.png

我把里面的代碼貼出來吧

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"       
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"         
              x:Class="HelloWorld.MyHelloWorld">    
<ContentPage.Content>        
    <StackLayout  VerticalOptions = "FillAndExpand"
                    HorizontalOptions = "FillAndExpand">            
              <Label Text = "Hello My World!"                    
                     TextColor ="Red"                
                      FontSize = "25"
                    VerticalOptions = "CenterAndExpand"                    
                    HorizontalOptions = "CenterAndExpand"/>        
  </StackLayout>    
</ContentPage.Content>
</ContentPage>

然后我們在APP文件配置一下

Snip20160811_34.png

這樣運行就可以了

Snip20160811_35.png

這里我只是做個演示,代碼我就不詳細講解了,后期我會逐漸深入的整理。

結語##

進度有點慢,一個星期才一篇,這是我深入理解后的結果。不過還是希望大神們能給點指點,Xamarin的路還很遙遠。文章中一些見解是我個人理解,如有錯誤之處,還請給予指正,謝謝。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,872評論 25 709
  • 1.當在觀影指南上看到了這部動畫的評價,我就覺得一定要看它。剛剛看完,覺得又是一次心靈的洗禮。想到馬云那句話,“夢...
    笑米迪閱讀 237評論 0 0
  • 情入骨血后的生生分離, 撕心裂肺后的沉痛念想, 在某年某月某日, 春風拂面, 笑對柳綠花黃, 一切, 都是回不去的...
    井溢閱讀 324評論 0 1
  • 露營的現(xiàn)在,瀏覽了一圈朋友圈,人人在懷著不同的心情抒發(fā)著自己的情緒......沒有太多被觸動,反而看到一個姐姐所發(fā)...
    不正常生物研究中心閱讀 385評論 0 15

友情鏈接更多精彩內容