我正在为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
答案 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+,而不会使其无法工作。
所以这是最终结果: