提示:开始学习Xamarin,同时记录相关笔记。

文章目录

  • 目录
  • 一、Xamarin简介
    • 1.Xamarin
    • 2.Xamarin.Essentials
    • 3.Xamarin.Forms
  • 二、Xamarin特点以及可以做什么?
  • 三、Xamarin 的适用对象
  • 四、Xamarin 初学笔记:
    • 1.堆积布局StackLayout
    • 2.网格布局Grid
    • 3.标签Label
    • 4.按钮Button
    • 5.文本输入Entry
    • 6.文本编辑器Editor
    • 7.图像Image
    • 8.列表CollectionView
    • 9.弹出窗口DisplayAlert

目录

一、Xamarin简介

1.Xamarin

(1)Xamarin是一个 .NET 开源的平台,主要用于通过 .NET 构建 IOS 、 Android 以及 Windows App,是用来开发移动应用的,比如手机上软件。
(2)Xamarin官方文档

2.Xamarin.Essentials

(1)Xamarin.Essentials 是一个库,可为本机设备功能提供跨平台 API。 与 Xamarin 本身一样,Xamarin.Essentials 是一种简化本机功能访问过程的抽象。 Xamarin.Essentials 提供的功能的一些示例包括:
设备信息
文件系统
加速计
电话拨号程序
文本到语音转换
屏幕锁定等等
(2)Xamarin.Essentials官方文档

3.Xamarin.Forms

(1)Xamarin.Forms 是一个开放源代码 UI 框架。 通过 Xamarin.Forms,开发人员可从单个共享基本代码生成 Xamarin.iOS、Xamarin.Android 和 Windows 应用程序。 Xamarin.Forms 使开发人员可以在 C# 中通过代码隐藏在 XAML 中创建用户界面。 这些用户界面在每个平台上呈现为高性能本机控件。 Xamarin.Forms 提供的功能的一些示例包括:
XAML 用户界面语言
数据绑定
笔势
效果
“样式”
(2)Xamarin.Forms官方参考文档

二、Xamarin特点以及可以做什么?

1.Xamarin可以实现一次开发,多平台运行。
2.Xamarin可以实现跨平台移动开发,如Android、ios
3.Xamarin.Forms是一个跨平台的UI开发界面

三、Xamarin 的适用对象

Xamarin 适用于具有以下目标的开发人员:
跨平台共享代码、测试和业务逻辑。
使用 Visual Studio 在 C# 中编写跨平台应用程序。

四、Xamarin 初学笔记:

1.堆积布局StackLayout

1.StackLayout 是一种布局,它在一维堆栈中以水平或垂直方式组织其子级。 默认情况下,StackLayout 是垂直方向。
2.StackLayout一些常用的属性:
(1)Orientation属性:表示子视图的定位方向,有Vertical和Horizontal两个值。 此属性的默认值为 Vertical。
(2)Spacing属性:表示每个子视图之间的空间量。 此属性的默认值为六个与设备无关的单位。注:Spacing属性可以设置为负值以使子视图重叠。
(3)Margin属性:获取或设置视图的边距。格式如:Margin=“1,2,3,4”,1代表到left值,2代表到top值,3代表到right的值,4代表到bottom的值。
(4)Padding属性:表示元素及其子元素之间的距离,用于将控件与其自己的内容分开。
:下面这张图展示了Margin属性和Padding属性的区别:

(5)HorizontalOptions 对齐方式
Start,它将该控件置于其母控件的左侧。
Center,它将该控件置于其于母控件的中心。
End,它将该控件置于其母控件的右侧。
Fill,它将该控件填充到其母控件的宽度。
3.(官方StackLayout类文档链接)

2.网格布局Grid

1.网格布局Grid 是一种布局,它将其子级组织为行和列,这些行和列可以具有比例或绝对大小。 默认情况下,Grid 包含一行和一列。
2.Grid布局一些常用的属性:
(1)Margin属性:获取或设置该Grid视图的边距。格式如:Margin=“1,2,3,4”,1代表到left值,2代表到top值,3代表到right的值,4代表到bottom的值。
(2)Padding属性:表示元素及其子元素之间的距离,用于将Grid控件与其自己的内容分开。
(3)Grid.ColumnDefinitions属性:存储列数据。
(4)Grid.RowDefinitions属性:存储行数据。
(5)ColumnDefinition属性:设置一列。
(6) RowDefinition属性:设置一行。
(7) ColumnSpacing 属性设置 Grid 中列之间的间距。
(8) RowSpacing 属性设置 Grid 中行之间的间距。
(9) ColumnSpan 属性:使其文本跨越多列。
(10) RowSpan 属性:使其文本跨越多行。
3.官方Grid类文档链接

3.标签Label

1.标签Label用于显示单行文本元素以及文本的多行块。
2.Label一些常用的属性:
(1) TextColor 属性:设置 Label 文本的颜色。
(2) FontAttributes 属性:设置字体样式是粗体还是斜体,FontAttributes属性有三个值:Bold(字体为粗体)、Italic(字体为斜体)、None(字体为未修改)
(3)FontSize 属性:设置字号
(4)TextDecorations属性:设置下划线文本效果或删除线效果。TextDecorations属性有三个值:Underline(文本下划线)、Strikethrough(单行删除线)、(无文本效果)
3.(官方Label类文档链接)

4.按钮Button

1.Button是用于对事件做出响应的按钮
2.Button类一些常用的属性:
(1)Text 属性:指定在 Button 中显示的文本。
(2)Clicked事件:单击 Button 。
(3) Pressed 事件:按下按钮时发生。
(4)Released 事件:松开按钮时发生。
(5) TextColor 属性:设置 Button 文本的颜色。
(6)BackgroundColor 属性:设置文本背景的颜色。
(7) BorderColor 属性:设置 Button 周围区域的颜色
(8)BorderWidth 属性:设置边框的宽度
(9) CornerRadius 属性:设置为合适的值来设定圆角
(10) WidthRequest 和 HeightRequest 属性:来改变 Button 的大小
3.(官方Button类文档链接)

5.文本输入Entry

1.Entry是可以编辑单个文本行的控件
2.Entry类一些常用的属性:
(1)Placeholder 属性:指定第一次显示 Entry 时显示的占位符文本。
(2) TextChanged 事件:在编辑器的文本更改时引发的事件。
(3)Completed事件:当用户使用返回键完成条目中的文本时发生。
(4)MaxLength 属性:限制允许的 Entry 输入长度。
(5) IsSpellCheckEnabled 属性:bool型属性。设置为 false 以禁用拼写检查。
(6)IsTextPredictionEnabled 属性:bool型属性。设置为 false时 会禁用文本预测和自动文本预测。
(7)IsPassword 属性:使用密码字符(黑色圆圈)对输入的字符进行掩码。
:向 Entry 输入的任何文本都将存储在 Text 属性中
3.官方Entry类文档链接

6.文本编辑器Editor

1.文本编辑器Editor是可以编辑多行文本的控件。
2.Editor类一些常用的属性(和上述Entry类中一些常用属性大多相同):
(1)Placeholder 属性:指定第一次显示 Editor 时显示的占位符文本。
(2)HeightRequest 属性:指定该 Editor 的高度。
(3)WidthRequest属性:指定该 Editor 的宽度。
(4)Completed事件:当用户使用返回键完成条目中的文本时发生。
(5) TextChanged 事件:在编辑器的文本更改时引发的事件。
(6)AutoSize 属性:自动调整大小功能。
(7) MaxLength 属性:限制 Editor 允许的输入长度。
(8) IsSpellCheckEnabled 属性:bool型属性。设置为 false 以禁用拼写检查。
(9)IsTextPredictionEnabled 属性:bool型属性。设置为 false时会禁用文本预测和自动文本预测。
3.官方Editor类文档链接

7.图像Image

1.图像Image类用于显示图像。
2.Image类一些常用的属性:
(1)Source 属性:是 使用它可以从文件、URI 或资源中获取图像。
(2)HeightRequest 属性:指定 该Image 的高度。
(3) Aspect 属性:属性定义了图像的缩放模式。枚举型,Aspect 属性有三个值: AspectFill、AspectFit、Fill。
  AspectFill:缩放图像以填充视图。 为填充视图,可能  会剪裁某些部分。
  AspectFit:缩放图像以适应视图。 某些部分可能会留白(宽屏)。
  Fill:放图像以完全填充视图。 X 和 Y 方向的缩放程度可以不统一。
(4)HeightRequest 属性:指定 Image 的高度。
(5)WidthRequest属性:指定Image 的宽度。
(6)HorizontalOptions 属性:设置图像的水平排列方式
3.官方Image类文档链接

8.列表CollectionView

1.列表CollectionView是用于显示项的集合。
2.
(1)CollectionView的使用有点复杂,这里就不多叙述了,详细看CollectionView使用教程(超详细)
3.官方CollectionView 类文档链接

9.弹出窗口DisplayAlert

1.DisplayAlert使用单个取消按钮向应用程序用户显示警报对话框。
2. DisplayAlert使用教程(超详细)
3. 官方DisplayAlert 类文档链接

Xamarin学习笔记相关推荐

  1. xamarin学习笔记A19(安卓AIDL)

    (每次学习一点xamarin就做个学习笔记和视频来加深记忆巩固知识) 如有不正确的地方,请帮我指正. AIDL简介   AIDL(Android Interface Definition Langua ...

  2. Xamarin 学习笔记 - 配置环境(Windows iOS)

    2019独角兽企业重金招聘Python工程师标准>>> 本文翻译自CodeProject文章:https://www.codeproject.com/Articles/1223980 ...

  3. xamarin 学习笔记02- IOS Simulator for windows 安装

    微软发布了在window下的ios模拟器 下载 ios模拟器 并安装在windows系统上. Xamarin for Visual Studio 和 网络上的 Mac 中的 Xamarin.iOS 开 ...

  4. 张高兴的 Xamarin.Android 学习笔记:(一)环境配置

    最近在自学 Xamarin 和 Android ,同时发现国内在做 Xamarin 的不多.我在自学中间遇到了很多问题,而且百度到的很多教程也有些过时,现在打算写点东西稍微总结下,顺便帮后人指指路了. ...

  5. 【C#8.0 and .NET Core 3.0 高级编程学习笔记】

    @C#8.0 and .NET Core 3.0 高级编程学习笔记 前言 为了能精细地完成对C#语言的学习,我决定选择一本书,精读它,理解它,记录它.我想选择什么书并不是最重要的,最重要的是持之以恒的 ...

  6. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  7. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  8. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  9. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  10. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

最新文章

  1. A Famous Music Composer
  2. Li Fei-fei写给她学生的一封信,如何做好研究以及写好PAPER
  3. [云炬创业基础笔记]第七张创业团队测试8
  4. 再会迪杰斯特拉(Dijkstra)
  5. 使用C与C++混合编程封装UDP协议
  6. Spring IOC容器-注解的方式
  7. 外连接有 OR 关联条件只能走 NL优化
  8. Rabbitmq的三种方式
  9. Win10无法访问Ubuntu18.04的smb解决
  10. 数据库面试题(答案)
  11. PAT 乙级 1048 数字加密 (20 分)
  12. python连接Oracle数据库报错Cannot locate a 64-bit Oracle Client library问题
  13. Python爬取新浪足球数据(以中超为例)
  14. word制作流程图有没有橡皮擦_WORD文档绘图,里面的橡皮擦在哪里啊
  15. 关于Faster-RCNN
  16. Matlab_插值与抽取
  17. win10 1073linux密码,Linux Bash on Win10 忘记密码解决
  18. 2007经典搞笑警句
  19. 玉米社:竞价推广优化怎么做?竞价推广优化技巧
  20. android XML文件注释

热门文章

  1. 如何修改pop3服务器地址,win7如何配置pop3服务器地址
  2. emule服务器无响应,全部服务器无响应!!!
  3. 11款中兴盒子固件合集分享(已列出全部型号,附刷机教程)
  4. python工时计算_敏捷开发项目人力工时评估法则
  5. 固高运动控制卡教程_基于固高运动控制卡的关节阻抗控制设计
  6. springboot项目java生成kml文件
  7. 【PCIe 协议】听说你做 PCIe 很多年,还不知道 PCIe Hierarchy ID 是什么 ???
  8. C语言易错知识点总结
  9. virtio iommu
  10. ✨✨✨【C语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(三)✨✨✨