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

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)或发布说明

猜你喜欢

转载自www.oschina.net/news/108116/xamarin-forms-4-1-0-stable-now-available