XAML 导航栏未在RTL模式xamarin表单中转换

de90aj5v  于 2023-01-22  发布在  其他
关注(0)|答案(1)|浏览(175)

我在我的应用程序中使用了一个masterdetailpage,它在RTL模式下工作正常,一旦我添加了

FlowDirection="{x:Static Device.FlowDirection}"

我在App.cs中动态设置了流向,但必须将其更改为在RTL中运行良好的飞出页面,但导航栏未转换为RTL。
汉堡包图标很好

导航栏有问题

//Start of the app in App.cs
 MainPage = new  NavigationPage(new Login() );
//After Successful Login
 Application.Current.MainPage.Navigation.PushAsync(new  FlyoutMainPage());
// in  FlyoutMainPage()
 NavigationPage.SetHasNavigationBar(this, false);
ars1skjm

ars1skjm1#

在xamarin表单中RTL本地化有一些限制,你可以参考右到左本地化限制。
NavigationPage button location, toolbar item location, and transition animation is controlled by the device locale, rather than the FlowDirection property.
这意味着你可以改变语言和地区,使它。
然后你必须告诉你的应用程序允许识别从右到左的布局。对于iOS,在Info.plist的CFBundleLocalizations部分添加从右到左的语言。

<key>CFBundleDevelopmentRegion</key> 
    <string>ar</string> 
<key>CFBundleLocalizations</key> 
    <array> 
        <string>ar</string> 
    </array>

对于Android,您可以将android:supportsRtl ="true"添加到AndroidManifest.xml中的应用程序标记
有关详细信息,请参阅Right-To-Left Localization in Xamarin.Forms
希望对你有用。

相关问题