Xamarin表单内容页面:将流向改为从右到左?

时间:2014-09-24 19:27:55

标签: xamarin xamarin.forms

如何从左到右,从右到左更改Xamarin表单内容页面的流向?像Windows Phone Flow Direction属性?

5 个答案:

答案 0 :(得分:2)

@Hodor谢谢,这样的事情没有支持(至少在这个时候)。使用列表视图时的解决方法是使用LTR / RTL方向创建多个列表项模板,并根据当前的UI文化使用它们。

其他控件的另一种解决方法是为每种控件类型实现一个渲染器,并根据UI文化更改其Horizo​​ntalOptions或XAlignment。

答案 1 :(得分:1)

它的2017年和Xamarin表格还不支持RTL ..

答案 2 :(得分:1)

值得一提的是,Grial UI Kit产品刚刚添加了RTL支持。

enter image description here

More details here

答案 3 :(得分:0)

尝试最新的Xamarin表格3.0.0

如果您正在制作支持从右到左语言的应用程序,我们会为您提供好消息:Xamarin.Forms 3.0可以比以往更轻松地翻转布局以匹配语言方向!

当支持从右向左流动的阿拉伯语和希伯来语等语言时,您现在可以使用任何FlowDirection上非常易于使用的VisualElement属性,而不是使用特定于平台的特效或效果你可能以前用过的。由于您已经通过访问Device.FlowDirection了解了设备喜欢的方向,因此更新您的用户界面就像在XAML中将其添加到页面的头部一样简单:

  

FlowDirection =“{x:Static Device.FlowDirection}”

有关更新应用程序以支持从右到左布局的更多信息:

Right-To-Left Localization in Xamarin.Forms Blog

答案 4 :(得分:-1)

你的意思是导航流程?

通常左=> right意味着在导航堆栈上添加页面,右键=> left表示删除它。

您可以在“本机”C#代码上扩展导航控制器并制作自定义动画。有很多方法可以做到这一点。这是MonoTouch中的一个例子

public partial class ScreenController : UINavigationController
{
     private Page currentPage = null;

             private void setCurrentPage(Page p)
    {
        currentPage = p;
        //Using present View Controller: will set the current page to root.
        PresentViewController(new UINavigationController(currentPage.CreateViewController())
                            {
                                ModalTransitionStyle = UIModalTransitionStyle.FlipHorizontal,
                            }, true, null);

        //Using custom animation
        PushControllerWithTransition(this, currentPage.CreateViewController(), UIViewAnimationOptions.TransitionFlipFromLeft);
    }

    public static void PushControllerWithTransition(this UINavigationController target, UIViewController controllerToPush,
        UIViewAnimationOptions transition)
    {
        UIView.Transition(target.View, 0.75d, transition, delegate()
        {
            target.PushViewController(controllerToPush, false);
        }, null);
    }
}