【问题标题】:NativeScript RTL supportNativeScript RTL 支持
【发布时间】:2019-03-11 15:29:42
【问题描述】:

我的应用只能使用一种语言,并且应该对齐 RTL。 目前,当我使用 tns preview 运行我的应用程序时,ActionBar 标签出现在左侧(而不是右侧),以此类推,与任何其他小部件一起出现。

我找到了一些本地化插件,但不确定是否需要它们 - 因为我只有一种语言和文本方向。

我已经解决了所有与 RTL 相关的 GitHub 问题,但我仍然不确定如何解决。知道如何强制我的应用程序并更改 RTL 语言的布局吗?

【问题讨论】:

    标签: nativescript


    【解决方案1】:

    您可以在运行时将布局方向设置为 RTL,这不仅会更新 ActionBar,而且应用程序中的任何布局都将被强制为 RTL。

    import * as app from 'tns-core-modules/application';
    
    app.android.addEventListener(app.AndroidApplication.activityCreatedEvent, (event: app.AndroidActivityEventData) => {
       event.activity.getWindow().getDecorView().setLayoutDirection(android.view.View.LAYOUT_DIRECTION_RTL);
    });
    

    Playground Sample

    【讨论】:

    • 你从哪里导入android.
    • 你不导入它,它的原生包在运行时可用。请参考 Playground 示例,您可以使用 declare var android 来避免 Typescript 错误。
    • 谢谢。它有效 - 但它完全搞砸了 nativescript 视图。似乎缺少 RTL 支持
    • 您只是强制布局遵循 RTL。这是预期的行为,您必须为 LTR 构建布局,启用 RTL 时它将完全切换。
    • @Manoj 你能告诉我你运行代码的游乐场吗,你在 Angular 项目中添加了这段代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多