Xamarin.Forms初始
前言
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初始的更多相关文章
- Xamarin.Forms 简介
An Introduction to Xamarin.Forms 来源:http://developer.xamarin.com/guides/cross-platform/xamarin-forms ...
- Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面
Xamarin.Forms 是一个跨平台的.基于原生控件的UI工具包,开发人员可以轻松的创建适用于 Android,iOS 以及 Windows Phone的用户界面.Xamarin.Forms 通过 ...
- Xamarin.Forms——尺寸大小(五 Dealing with sizes)
如之前所见的大量可视化元素均有自己的尺寸大小: iOS的状态栏高度为20,所以我们需要调整iOS的页面的Padding值,留出这个高度. BoxView设置它的默认宽度和高度为40. Frame的默认 ...
- Xamarin.Forms跨平台开发入门-第二部分:深入解析
英文原文: https://developer.xamarin.com/guides/xamarin-forms/getting-started/hello-xamarin-forms/deepdiv ...
- Xamarin.Forms移动开发系列4 :XAML基础
摘要 本文介绍Xamarin.Forms创建用户界面的语言:XAML基础部分. 前言 本文介绍Xamarin.Forms定义用户界面的语言:XAML. 本篇篇幅较长,主要讲述XAML语法,以及对其他基 ...
- Xamarin.Forms移动开发系列3:项目剖析
摘要 本文主要进行Xamarin.Forms应用程序剖析. 前言 本文介绍Xamarin.Forms应用程序剖析. 由于本系列重点研究对象为Xamarin.Forms,所以对Xamarin.Andro ...
- Xamarin.Forms应用程序基础知识
生命周期 在 Android 上,若主活动的 [Activity()] 属性缺少 ConfigurationChanges = ConfigChanges.ScreenSize | ConfigCha ...
- Xamarin.Forms快速入门-深入探讨
官网链接 项目介绍 以Notes项目为例,The Notes application consists of one solution containing four projects, as sho ...
- xamarin.forms新建项目android编译错误
vs2015 update3 新建的xamarin.forms项目中的android项目编译错误.提示缺少android_m2repository_r22.zip,96659D653BDE0FAEDB ...
随机推荐
- Handler处理机制
handler缺点:如果要运送两种类型的数据(比如一个Bitmap,一个Object)就不能运送,但可以用Bunder来传输 * 使用handler的步骤: * 1.创建一个handl ...
- 【CSS】获取元素的z-index值以及各种值的意义
js可以获取其元素的z-index值: $("document").ready(function(){ var a = $('.row').css('z-index'); aler ...
- android清除缓存为什么总是存在12k?
转载请注明出处:http://blog.csdn.net/droyon/article/details/41116529 android手机在4.2之后.清除缓存总是会残留12k的大小.预计强迫症患者 ...
- String空格删除和java删除字符串最后一个字符的几种方法
1. String.trim()trim()是去掉首尾空格2.str.replace(" ", ""); 去掉所有空格,包括首尾.中间复制代码 代码如下:Str ...
- 从TCP协议的原理来谈谈rst复位攻击
在谈RST攻击前,必须先了解TCP:如何通过三次握手建立TCP连接.四次握手如何把全双工的连接关闭掉.滑动窗体是怎么数据传输的.TCP的flag标志位里RST在哪些情况下出现.以下我会画一些尽量简化的 ...
- HashSet中存方用户自己定义数据类型数据,重写equals方法和hashCode方法
import java.util.Set; import java.util.HashSet; public class SetTest { public static void main(Strin ...
- 大牛blog汇总
系列专题的文件夹 01. Java String系列 (共3篇) 02. Java异常系列 (共3篇) 03. Java 时间日期系列 (共7篇) 04. java io系列 (共26篇) 05, J ...
- 将iconv编译成lua接口
前一篇博文说了.在cocos2dx中怎么样使用iconv转码,这节我们将上一节中写的转码函数,做成一个lua接口.在lua脚本中使用. 网上能够下载到luaconv.可是编译的时候总是报错,所以自己写 ...
- xadmin入门使用
,官方文档:http://xadmin.readthedocs.io/en/docs-chinese/views_api.html 中文文档:https://www.kancloud.cn/net_y ...
- IOS版App的控件元素定位
前言 Android版App的控件元素可以通过Android studio自带的工具uiautomatorviewer来协助定位! IOS版App的控件元素可以通过Appium来实现(未实现),或ap ...