使用Xamarin Forms 3 FlowDirection可以从右到左显示Master-Details View

时间:2018-05-08 12:42:09

标签: xamarin xamarin.forms

我正在为Android和iOS开发Xamarin Forms应用程序。是否可以使用Xamarin.Forms 3.0中引入的新FlowDirection属性从右到左制作主要详细信息视图,包括从左侧显示的菜单,而不是从RTL语言中右侧显示的菜单? 我尝试设置MasterDetail页面属性,但仍然从Android左侧显示菜单,菜单栏仍然是从左到右。 有任何想法吗? 新的财产链接 https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Core/FlowDirection.cs

1 个答案:

答案 0 :(得分:1)

在下一个例子中,它似乎与iOS上预期的一样开箱即用,但在Android上却没有(需要额外的操作):

<?xml version="1.0" encoding="UTF-8"?>
<MasterDetailPage
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    x:Class="RTL.MasterDetailPage"
    Padding="25"
    FlowDirection="RightToLeft">

    <MasterDetailPage.Master>
        <ContentPage Title=" ">
            <StackLayout>
                <Button Text="Menu item" />
            </StackLayout>
        </ContentPage>
    </MasterDetailPage.Master>
    <MasterDetailPage.Detail>
        <ContentPage>
            <Label Text="My page"/>
        </ContentPage>
    </MasterDetailPage.Detail>
</MasterDetailPage>

结果如下:

正如您在Android上看到的那样,菜单显示在左侧,而iOS则显示在右侧。 应该检查是否存在错误报告,如果没有,应该为Xamarin.Forms团队创建一个新报告。

<强>更新
根据此document,我们必须将android:supportsRtl="true"添加到清单中的应用程序节点,并确保将minSdk设置为17+,而不会使其无法工作。

所以这是最终结果: