前言async
Xamarin.Forms 爲 .NET 開發人員提供一個完整的跨平臺 UI 工具包。 在 Visual Studio 中使用 C# 生成徹底本機的 Android、iOS 和通用 Windows 平臺應用,可是在國內用的不多教程也不多,用會了也很方便。ide
模擬器選擇工具
強烈建議不要使用VS自帶的模擬器,就是很卡的那種,這裏博主推薦使用夜神模擬器。佈局
鏈接夜神模擬器步驟以下:學習
1).首先查到夜神模擬器的端口,開的第一模擬器端口默認是62001這裏指的是本地。spa
2).而後打開VS中的ADB控制檯:輸入adb.exe connect 127.0.0.1:62001[提示connected說明鏈接成功]3d
3)sdk的選擇目前谷歌最新的是9.0看我的是否須要選擇安裝。code
Xamarin.Forms佈局orm
XF一共提供了5種佈局分別是StackLayout,RelativeLayout,AbsoluteLayout,Grid,ScrollViewxml
1).SL佈局適用通常的佈局。
2).RL佈局適用疊加。
3).AL佈局適用遮罩。
4).Gd佈局就是柵欄,典型例子計算器。
5).SV佈局就是屏幕能夠下拉的。
StackLayout佈局
範例1:
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:MusicCloud" x:Class="MusicCloud.MainPage"> <ContentPage.Padding> <OnPlatform x:TypeArguments="Thickness" iOS="0,20,0,0" Android="0,20,0,0"/> </ContentPage.Padding> <StackLayout VerticalOptions="Center" BindingContext="{Binding Source={x:Reference sli}}"> <Label VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" Text="{Binding Path=Value,StringFormat='值:{0:F2}'}" /> <Label VerticalOptions="CenterAndExpand" Opacity="{Binding Path=Value}" HorizontalOptions="CenterAndExpand" Text="改變透明度" /> <Slider x:Name="sli" Maximum="1"></Slider> </StackLayout> </ContentPage>
Opacity="{Binding Path=Value}" 其中path能夠省略,前提是Bind只有一個參數。
範例2:
當點擊登陸後進入下個頁面
1 <?xml version="1.0" encoding="utf-8" ?> 2 <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 3 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 4 BackgroundColor="Blue" 5 x:Class="MusicCloud.StackLayoutTrain.StackLayoutTest"> 6 <ContentPage.Content> 7 <!--VerticalOptions 垂直屬性--> 8 <!--HorizontalOptions 水平屬性--> 9 <StackLayout VerticalOptions="Center" Spacing="20"> 10 <Label 11 Text="歡迎demo" 12 FontSize="26" 13 TextColor="#FFF" 14 HorizontalOptions="Center"/> 15 <Label 16 Text="Edna" 17 HorizontalOptions="Center" 18 TextColor="#FFF" 19 FontSize="16"/> 20 <StackLayout Orientation="Horizontal" HorizontalOptions="Center" Spacing="50"> 21 <Button 22 BackgroundColor="#FFF" 23 HorizontalOptions="Center" 24 Text="登陸" 25 Clicked="Ok_Clicked"/> 26 <Button 27 BackgroundColor="#FFF" 28 HorizontalOptions="Center" 29 Text="註冊"/> 30 </StackLayout> 31 </StackLayout> 32 </ContentPage.Content> 33 </ContentPage>
登陸事件
private async void Ok_Clicked(object sender, EventArgs e) { await Navigation.PushModalAsync(new StackLayoutTest_Two()); }
1 <?xml version="1.0" encoding="utf-8" ?> 2 <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 3 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 4 x:Class="MusicCloud.StackLayoutTrain.StackLayoutTest_Two"> 5 <ContentPage.Padding> 6 <OnPlatform 7 Android="0,20,0,0" 8 x:TypeArguments="Thickness"/> 9 </ContentPage.Padding> 10 <ContentPage.Content> 11 <StackLayout Spacing="10"> 12 <Label Text="周家莊地震安置點"/> 13 <Image 14 Source="http://n.sinaimg.cn/default/1_img/upload/3933d981/713/w930h583/20181217/xvSU-hqhtqsp1549885.jpg" 15 Aspect="AspectFill"/> 16 <StackLayout Orientation="Horizontal" HorizontalOptions="Start" Spacing="10"> 17 <Button Text="點贊" HorizontalOptions="Start"/> 18 <Button Text="留言" HorizontalOptions="Start"/> 19 <Button Text="分享" HorizontalOptions="Start"/> 20 </StackLayout> 21 <StackLayout > 22 <BoxView BackgroundColor="Gray" HeightRequest="1"/> 23 <StackLayout Padding="10" Orientation="Vertical"> 24 <Label Text="800贊" FontAttributes="Bold"/> 25 <Label Text="浙江人很了不得。當時社會上流傳着「四千精神」:走遍千山萬水,說盡千言萬語,想盡想方設法,歷經千辛萬苦。 26 而浙江的鄉鎮企業就是這樣從各類渠道尋求發展。當時浙江煤炭、鋼材很短缺,山西糧食很短缺,浙江人就把浙江的大米用火車拉去換山西的煤炭,把舟山的黃魚和帶魚拉去北方換鋼材。步鑫生講得很形象,他說,國有企業是頭「豬」,餵它多少吃多少;大集體企業是隻「雞」,撒一點米,沒吃飽它本身還會去找吃的;鄉鎮企業是隻「麻雀」,徹底是靠本身去找吃的。"/> 27 </StackLayout> 28 </StackLayout> 29 </StackLayout> 30 </ContentPage.Content> 31 </ContentPage>
初次寫Xamarin.forms不對的地方歡迎指正,共同交流學習。