前言

  Xamarin.Forms 为 .NET 开发人员提供一个完整的跨平台 UI 工具包。 在 Visual Studio 中使用 C# 生成完全本机的 Android、iOS 和通用 Windows 平台应用,但是在国内用的很少教程也很少,用会了也很方便。

模拟器选择

  强烈建议不要使用VS自带的模拟器,就是很卡的那种,这里博主推荐使用夜神模拟器。

  连接夜神模拟器步骤如下:

  1).首先查到夜神模拟器的端口,开的第一模拟器端口默认是62001这里指的是本地。

  2).然后打开VS中的ADB控制台:输入adb.exe connect 127.0.0.1:62001[提示connected说明连接成功]

  3)sdk的选择目前谷歌最新的是9.0看个人是否需要选择安装。

Xamarin.Forms布局

  XF一共提供了5种布局分别是StackLayout,RelativeLayout,AbsoluteLayout,Grid,ScrollView

  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:

当点击登录后进入下个页面

 <?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
BackgroundColor="Blue"
x:Class="MusicCloud.StackLayoutTrain.StackLayoutTest">
<ContentPage.Content>
<!--VerticalOptions 垂直属性-->
<!--HorizontalOptions 水平属性-->
<StackLayout VerticalOptions="Center" Spacing="20">
<Label
Text="欢迎demo"
FontSize="26"
TextColor="#FFF"
HorizontalOptions="Center"/>
<Label
Text="Edna"
HorizontalOptions="Center"
TextColor="#FFF"
FontSize="16"/>
<StackLayout Orientation="Horizontal" HorizontalOptions="Center" Spacing="50">
<Button
BackgroundColor="#FFF"
HorizontalOptions="Center"
Text="登录"
Clicked="Ok_Clicked"/>
<Button
BackgroundColor="#FFF"
HorizontalOptions="Center"
Text="注册"/>
</StackLayout>
</StackLayout>
</ContentPage.Content>
</ContentPage>

登录事件

 private async void Ok_Clicked(object sender, EventArgs e)
{
await Navigation.PushModalAsync(new StackLayoutTest_Two());
}
 <?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="MusicCloud.StackLayoutTrain.StackLayoutTest_Two">
<ContentPage.Padding>
<OnPlatform
Android="0,20,0,0"
x:TypeArguments="Thickness"/>
</ContentPage.Padding>
<ContentPage.Content>
<StackLayout Spacing="10">
<Label Text="周家庄地震安置点"/>
<Image
Source="http://n.sinaimg.cn/default/1_img/upload/3933d981/713/w930h583/20181217/xvSU-hqhtqsp1549885.jpg"
Aspect="AspectFill"/>
<StackLayout Orientation="Horizontal" HorizontalOptions="Start" Spacing="10">
<Button Text="点赞" HorizontalOptions="Start"/>
<Button Text="留言" HorizontalOptions="Start"/>
<Button Text="分享" HorizontalOptions="Start"/>
</StackLayout>
<StackLayout >
<BoxView BackgroundColor="Gray" HeightRequest="1"/>
<StackLayout Padding="10" Orientation="Vertical">
<Label Text="800赞" FontAttributes="Bold"/>
<Label Text="浙江人很了不起。当时社会上流传着“四千精神”:走遍千山万水,说尽千言万语,想尽千方百计,历经千辛万苦。
而浙江的乡镇企业就是这样从各种渠道寻求发展。当时浙江煤炭、钢材很短缺,山西粮食很短缺,浙江人就把浙江的大米用火车拉去换山西的煤炭,把舟山的黄鱼和带鱼拉去北方换钢材。步鑫生讲得很形象,他说,国有企业是头“猪”,喂它多少吃多少;大集体企业是只“鸡”,撒一点米,没吃饱它自己还会去找吃的;乡镇企业是只“麻雀”,完全是靠自己去找吃的。"/>
</StackLayout>
</StackLayout>
</StackLayout>
</ContentPage.Content>
</ContentPage>

初次写Xamarin.forms不对的地方欢迎指正,共同交流学习。

Xamarin.Forms初始的更多相关文章

  1. Xamarin.Forms 简介

    An Introduction to Xamarin.Forms 来源:http://developer.xamarin.com/guides/cross-platform/xamarin-forms ...

  2. Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面

    Xamarin.Forms 是一个跨平台的.基于原生控件的UI工具包,开发人员可以轻松的创建适用于 Android,iOS 以及 Windows Phone的用户界面.Xamarin.Forms 通过 ...

  3. Xamarin.Forms——尺寸大小(五 Dealing with sizes)

    如之前所见的大量可视化元素均有自己的尺寸大小: iOS的状态栏高度为20,所以我们需要调整iOS的页面的Padding值,留出这个高度. BoxView设置它的默认宽度和高度为40. Frame的默认 ...

  4. Xamarin.Forms跨平台开发入门-第二部分:深入解析

    英文原文: https://developer.xamarin.com/guides/xamarin-forms/getting-started/hello-xamarin-forms/deepdiv ...

  5. Xamarin.Forms移动开发系列4 :XAML基础

    摘要 本文介绍Xamarin.Forms创建用户界面的语言:XAML基础部分. 前言 本文介绍Xamarin.Forms定义用户界面的语言:XAML. 本篇篇幅较长,主要讲述XAML语法,以及对其他基 ...

  6. Xamarin.Forms移动开发系列3:项目剖析

    摘要 本文主要进行Xamarin.Forms应用程序剖析. 前言 本文介绍Xamarin.Forms应用程序剖析. 由于本系列重点研究对象为Xamarin.Forms,所以对Xamarin.Andro ...

  7. Xamarin.Forms应用程序基础知识

    生命周期 在 Android 上,若主活动的 [Activity()] 属性缺少 ConfigurationChanges = ConfigChanges.ScreenSize | ConfigCha ...

  8. Xamarin.Forms快速入门-深入探讨

    官网链接 项目介绍 以Notes项目为例,The Notes application consists of one solution containing four projects, as sho ...

  9. xamarin.forms新建项目android编译错误

    vs2015 update3 新建的xamarin.forms项目中的android项目编译错误.提示缺少android_m2repository_r22.zip,96659D653BDE0FAEDB ...

随机推荐

  1. ios 使用keychain具体方法

    Dictionary  写入: if ([self.currentUserAccount length] > 0) {                                Keycha ...

  2. 【spring data jpa】使用repository进行查询,使用userRepository.getOne(id)和userRepository.findById(id)无法从数据库查询到数据

    如题: 使用repository进行查询,使用CrudRepository自带的getOne()方法和findById()方法查询,数据库中有这条数据,但是并不能查到. userRepository. ...

  3. sdut 面向对象程序设计上机练习九(对象指针)

    面向对象程序设计上机练习九(对象指针) Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 建立对象数组,内放5个学生数据(学号是字符串类型.成绩是整型).设 ...

  4. 转: 基于netty+ protobuf +spring + hibernate + jgroups开发的游戏服务端

    from: http://ybak.iteye.com/blog/1853335 基于netty+ protobuf +spring + hibernate + jgroups开发的游戏服务端 游戏服 ...

  5. cocos2d-x调用android内嵌浏览器打开网页

    cocos2d-x调用android内嵌浏览器打开网页,能够从入口传入网址,C++调用android 的api就可以实现. 方法也非常easy 1. 改动"cocos2dx\platform ...

  6. 怎样隐藏Windows7 系统保留分区

    安装Windows7操作系统时须要预留出100MB左右的系统保留盘分区.在Windows7激活是必须给它分配盘符,否则无法将其成功激活,但是激活后该盘符永久地显示了出来,怎样将其隐藏掉呢? 1.隐藏前 ...

  7. ES7前端异步玩法:async/await理解 js原生API妙用(一)

    ES7前端异步玩法:async/await理解   在最新的ES7(ES2017)中提出的前端异步特性:async.await. 什么是async.await? async顾名思义是“异步”的意思,a ...

  8. MOS管驱动详解

    1.常用的几种电平转换方案 2.三极管的电平转换及驱动电路分析 3.三级管老怀 4.关于MOSFET管驱动电路总结 5.一个IIC的5V和3.3V电平转换的经典电路分享 6.mos 7.mos应用 8 ...

  9. VM(转)

    vmplayer  &&  VMworkstation 很多人想尝试一下多种不同的操作系统,例如学习Linux:又或者希望搞一个专门的系统用来测试各种各样东西而不会搞乱搞坏现有的系统. ...

  10. FastDFS的配置、部署与API使用解读(5)FastDFS配置详解之Tracker配置(转)

    本文是 tracker.conf 配置文件的详细介绍. 1 基本配置 disable #func:配置是否生效 #valu:true.false disable=false bind_addr #fu ...