Xamarin.Forms 4.1.0 稳定版发布,原生的跨平台框架

局长
 局长
发布于 2019年07月10日
收藏 6

Xamarin.Forms 4.1.0 已发布,这是 4.0 重大版本发布后的首次更新,可通过 NuGet 获取新版本。团队表示 3.x 系列主要是对各种缺陷的修补,并从中认识到应尽可能满足用户的需求并帮助他们提升生产力,而积累的这些经验将会逐渐体现在 4.x 系列中。

4.0.0 最重要的更新莫过于正式将 Shell 集成到 Xamarin.Forms。从表面上看,Shell 提供了一种非常简单的语法来建立应用程序的弹出菜单和标签菜单。除了现有的导航服务之外,它还引入了强大的基于路由的 URI 导航服务。

此外,Shell 更加强大的地方在于底层,所有渲染器都实现了“快速渲染器”模式,数据模板和渲染器可以轻松扩展所有内容。这个新架构为未来的 Xamarin.Forms 开发奠定了基础,可以实现更具表现力的动画、过渡与交互。

4.1.0 带来了许多质量方面的改进、一个新的 CheckBox 控件(首次亮相于预览版),以及大量来自社区反馈的功能增强(例如对 Map 的改进)。

增强的 Maps 功能

从 4.1.0 版本起,捕捉 tap 或 click 动作的位置将变得更简单,只需订阅到OnMapClicked事件即可。效果如下:

当在地图画布中的任意位置进行 tap 操作时,事件会返回 tap 操作位置的经度和纬度。

<?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:maps="clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps"
    xmlns:local="clr-namespace:Xappy;assembly=Xappy"
    Shell.NavBarIsVisible="False"
    Shell.TabBarIsVisible="False"
    x:Class="Xappy.Scenarios.MapPage">
    <Grid>
        <maps:Map
            x:Name="MyMap"
            IsShowingUser="true"
            MapType="Street"
            MapClicked="Handle_MapClicked" />
            ...

void Handle_MapClicked(object sender, MapClickedEventArgs e)
{

    MyMap.Pins.Add(
            new Pin
            {
                Position = new Position(e.Position.Latitude, e.Position.Longitude),
                Label = "Joe's Place"
            }
        );
    DisplayAlert("Joe Says:", $"Last MapClick: {e.Position.Latitude}, {e.Position.Longitude}", "Thanks");
}

示例代码来自  Xappy (on GitHub)

更多内容请查看发布公告(内有新版发布视频show)或发布说明

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Xamarin.Forms 4.1.0 稳定版发布,原生的跨平台框架
加载中

精彩评论

keep_wan
keep_wan
其实这玩意比rn 牛逼多了。 因为微软系。天生带有偏见
陈钇蒙
ts和vscode吹的人很多, 真正牛的工具自然会有人用, 跟阵营无关
CrazyPeter
CrazyPeter
这套框架也是微软收购的,没有其他的框架火有他自己的原因,不简单只是天生偏见的问题。

最新评论(16

mymbrooks
mymbrooks
iOS 13 的 SwiftUI 已经很好用,除了原生就是混合 Web 了
CrazyPeter
CrazyPeter
这套框架也是微软收购的,没有其他的框架火有他自己的原因,不简单只是天生偏见的问题。
undef1ned
undef1ned
微软的工具就算开源好用,也没有人吹
陈钇蒙
ts和vscode吹的人很多, 真正牛的工具自然会有人用, 跟阵营无关
keep_wan
keep_wan
其实这玩意比rn 牛逼多了。 因为微软系。天生带有偏见
平原君
平原君
对于原生库的封装好像没有rn简单。另外,Android版会需要一个runtime,导致安装包有点大。
久永
久永
我一直奇怪,为啥不能像 .net 框架一样,在系统里面装一个就行了。是不是安卓的系统不允许?
平原君
平原君
应该是可以只装一个,不过手机应该都不会装,所以安装包应该都会默认带上吧。
久永
久永
所以这个问题就变成奇怪的:微软为什么不出力推送和厂家合作预装这个框架呢?
平原君
平原君
android的控制权在google手里啊
久永
久永
不是,我说的是和手机生产厂家合作预装。这不是很正常的套路吗?
平原君
平原君
只要不是所有安卓系统都自带,那跟没有就没区别。目前来看,还是把原生sdk的集成给改善下,我之前看过集成高德的文档,操作很烦
CrazyPeter
CrazyPeter
我感觉微软内部也没有把这个项目作为主力军来推,而且,微软的RN代码推送服务做的一直不错。
久永
久永
我更赞成你的观点。就是给龅牙苏搞得微软战略上懵逼了。
麦壳饼
麦壳饼
那框架也就二十多MB!但现在很多安卓应用不都是 上百MB 。
久峰爱玩火
有牛逼
返回顶部
顶部