1. 江湖人士首页
  2. IT江湖

使用C#代码通过Xamarin.Forms编写一套代码,构建原生UI支持IOS ,Android和Windows

使用C#代码通过Xamarin.Forms编写一套代码,构建原生UI支持IOS ,Android和Windows 1

使用Xamarin.Forms API在C#中完整地为iOS,Android和Windows构建原生应用程序。我们使用Xamarin.Forms构建了上述CRM应用程序,跨平台的代码共享量超过96%。Xamarin.Forms现在可以在Visual Studio for Mac和Visual Studio中使用。

让我们看代码吧

如果您了解C#,则已经知道如何构建iOS,Android和Windows应用程序。

1

用C#或XAML编写你的UI。Xamarin.Forms页面代表一个应用程序内的单个屏幕。页面包含高级手势支持和布局,按钮,标签,列表和其他常用控件。将这些控件连接到共享的后端代码,即可获得完全由共享C#构建的本机iOS,Android和Windows Phone应用程序。 C#XAML

<?xml version="1.0" encoding="UTF-8"?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            x:Class="MyApp.MainPage">
    <TabbedPage.Children>
        <ContentPage Title="Profile" Icon="Profile.png">
            <StackLayout Spacing="20" Padding="20"
                         VerticalOptions="Center">
                <Entry Placeholder="Username"
                       Text="{Binding Username}"/>
                <Entry Placeholder="Password"
                       Text="{Binding Password}"
                       IsPassword="true"/>
                <Button Text="Login" TextColor="White"
                        BackgroundColor="#77D065"
                        Command="{Binding LoginCommand}"/>
            </StackLayout>
        </ContentPage>
        <ContentPage Title="Settings" Icon="Settings.png">
            <!-- Settings -->
        </ContentPage>
    </TabbedPage.Children>
</TabbedPage>
使用C#代码通过Xamarin.Forms编写一套代码,构建原生UI支持IOS ,Android和Windows 2

2

在运行时,每个页面及其控件都映射到平台特定的本地用户界面元素; 例如,Xamarin.Forms条目成为iOS上的UITextView,Android上的EditText和Windows上的TextBox。

充分利用每个平台。

创建自定义视图。

创建用Xamarin.iOS或Xamarin.Android构建的特定于平台的视图,以定制每个平台上的用户界面。

通过共享服务调用平台API。

需要设备级功能?使用Xamarin.iOS和Xamarin.Android或使用抽象平台特定API的Xamarin.Forms服务。

选择标记或代码。

使用代码或标记来使用C#或XAML标记来构建一个带有数据绑定和样式的漂亮UI。

哪种Xamarin方法最适合您的应用程序?

Xamarin.Forms是最好的:

  • 需要很少的平台特定功能的应用程序
  • 代码共享比自定义UI更重要的应用程序
  • 适合XAML的开发人员

Xamarin.iOS&Xamarin.Android最适合:

  • 具有需要原生行为的交互的应用
  • 使用许多特定于平台的API的应用程序
  • 自定义用户界面比代码共享更重要的应用程序

盒子里有什么东西。

网页

  • 内容页
  • MasterDetailPage
  • NavigationPage
  • TabbedPage
  • CarouselPage

布局

  • StackLayout
  • AbsoluteLayout
  • 的RelativeLayout
  • 网格布局
  • 内容查看
  • 滚动型

控制

  • ActivityIndi​​cator
  • BoxView中的
  • 按键
  • 日期选择器
  • 编辑
  • 条目
  • 图片
  • 标签
  • 列表显示
  • 地图
  • OpenGLView
  • 选择器
  • 进度条
  • 搜索栏
  • 滑块
  • 步进
  • 的TableView
  • TimePicker
  • 的WebView
  • EntryCell
  • 的ImageCell
  • SwitchCell
  • TextCell
  • ViewCell

预览预览器

通过无需运行应用程序来提高工作效率,从而直接在IDE中实时预览Xamarin.Forms XAML源代码以查看布局。

使用C#代码通过Xamarin.Forms编写一套代码,构建原生UI支持IOS ,Android和Windows 3

使用C#代码通过Xamarin.Forms编写一套代码,构建原生UI支持IOS ,Android和Windows 4

预览
主题

  • 令人惊叹的默认。用两个Xamarin提供的主题制作漂亮的页面:标准和黑暗。
  • 原生应用程序的代码更少。抽象的风格和结构为一个新的编码效率水平。
  • 功能强大,可扩展。在C#或XAML中使用声明式级联样式编写自己的主题。
  • 好分开,好一起。主题与DataPages和DataSources配对可快速搭建应用程序,使您可以直接进入构建用户界面。

更高级的功能

  • 在表单布局中嵌入Android和iOS控件。直接将特定于平台的控件添加到您的表单代码,而无需连接自定义渲染器。
  • 与网址导航进行深层链接。在网页,电子邮件和其他应用程序外部来源之间创建更加流畅的界面,方法是在您的应用程序中深层链接表单页面,数据和功能。
// MyApp.iOS/AppDelegate.cs
// Create a Xamarin.iOS UISegmentedControl
var mySegmentedControl = new UISegmentedControl();
mySegmentedControl.InsertSegment("One", 0, false);
mySegmentedControl.InsertSegment("Two", 1, false);

// Embed it right into Forms!
formsLayout.Children.Add(mySegmentedControl);

使用自定义控件扩展Xamarin.Forms

  • 定义您自己的控件,布局,页面和单元格。
  • 在Xamarin.Forms页面中公开自己的特定于平台的控件。
  • 子类包括控制和定制他们的行为。

完全使用XAML构建页面。

  • 以简洁的标记语言定义视图,布局和绑定。
  • 注意:Xamarin.Forms与预先存在的XAML可视化设计器不兼容。

具有MVVM和数据绑定的架构师。

  • MVVM架构,用于清晰分离UI和应用程序逻辑。
  • 双向数据绑定自动同步控件和模型之间的数据。
  • 移动优化的依赖注入,启动时间<10ms。
  • 消息中心在应用程序组件之间进行松散耦合的消息传递。

编织迷人的动画。

  • 基本的动画(如旋转,淡入淡出,缩放),可以组成复杂的效果。
  • 低级动画API,用于构建自定义的可重放动画。
  • 所有操作都委托给特定于平台的动画API(例如iOS上的CoreAnimation)以获得最佳性能。
  • 使用异步/等待开发人员友好的排序动画是可以等待的。

原文地址:https://www.xamarin.com/forms

Namesilo优惠:新用户省 $1 域名注册-优惠码:45D%UYTcxYuCloZ 国外最便宜域名!点击了解更多

特别优惠:免费赠送 $50 Vultr主机-限时优惠!英文站必备海外服务器!点击了解更多

VPS优惠:搬瓦工优惠码:BWH34QMFYT2R 最高省6.38%你懂的主机-一直优惠!点击了解更多

原创文章,作者:江小编,如若转载,请注明出处:https://jhrs.com/2018/7167.html

扫码关注【江湖人士】公众号,您会获得关于国外被动收入的最新资讯

WA付费会员QQ群:387027533,加这个群需要回答您的WA会员名,待核实后予以通过

普通QQ交流群:178758794,可分享交流建站的各类经验和知识

发表评论

登录后才能评论