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 ...
随机推荐
- Silverlight 离线安装包
直接下载地址 https://www.microsoft.com/getsilverlight/locale/en-us/html/Microsoft%20Silverlight%20Release% ...
- Unity -- 入门教程二
为了接下来要做的小游戏,在这里我要小小的修改一下移动的代码. public class PlayerMove : MonoBehaviour { //定义移动的速度 public float Move ...
- JavaScript 推断浏览器类型及32位64位
JS推断出版本号以及浏览器类型 <script type="text/javascript"> var Sys = {}; var ua = navigator.use ...
- 关于SharePoint 讨论板的一些知识
关于SharePoint 讨论板的一些知识 近期公司项目可能要用到讨论板.需求是这种: 怎样在回复中仅仅让查看登陆者和讨论主题公布者的信息. 比方我公布 ...
- POJ2386 Lake Counting 【DFS】
Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20782 Accepted: 10473 D ...
- android:使用gallery和imageSwitch制作可左右循环滑动的图片浏览器
为了使图片浏览器左右无限循环滑动 我们要自己定义gallery的adapter 假设要想自己定义adapter首先要了解这几个方法 @Override public int getCount() { ...
- Redhat hadoop2.7.2安装笔记
本次安装是在windows7环境下安装redhat虚拟机进行的,所须要的软件例如以下: VirtualBox-5.0.16-105871-Win.exe rhel-server-5.4-x86_64- ...
- 辛星深入分析vim的自己主动补全功能以及vim的映射
曾经对于vim的自己主动补全功能,都是须要的时候从网上下载点配置项,然后复制到自己的vimrc上去,自己也不知道是什么意思.结果发现搜索到的非常多自己主动补全的方式都非常另类,有的喜欢在补全大括号的时 ...
- 定义自己的代码风格CheckStyle简单使用
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE module PUBLIC "-/ ...
- 解析PE文件的附加数据
解析程序自己的附加数据,将附加数据写入文件里. 主要是解析PE文件头.定位到overlay的地方.写入文件. 常应用的场景是在crackme中,crackme自身有一段加密过的附加数据.在crackm ...