【问题标题】:Using custom InputType combinations on an EditableTextField in NativeScript在 NativeScript 中的 EditableTextField 上使用自定义 InputType 组合
【发布时间】:2018-11-29 15:48:37
【问题描述】:

我正在尝试创建一个键盘,它的数字在 NativeScript 中立即可用,特别是对于 Android - 字母和数字都必须在没有长按的情况下可见。

NativeScript 目前只允许特定的键盘类型集合,其中没有一个提供所需的功能。

该功能可以使用原生 Android InputType 来实现,并尝试将其分配给 nativeElement

https://developer.android.com/reference/android/text/InputType

我将如何在 NativeScript 中实现这些?

【问题讨论】:

    标签: javascript android angular nativescript


    【解决方案1】:

    在调查源头后,我偶然发现了这个:

    https://github.com/NativeScript/NativeScript/blob/c8341819a33bd9f02676815d5c8946ea6391970a/tns-core-modules/ui/editable-text-base/editable-text-base.android.ts#L250

    这是用于将 "phone" 转换为 android.text.InputType.TYPE_CLASS_PHONE 的 NativeScripts 内部映射。

    在这个方法中,它有this._setInputType(newInputType);,这意味着我们也可以访问这个函数(_setInputType)来使用Android的InputType标志来设置输入类型。

    如果您将 loaded 事件附加到您的 TextField,则可以在接收函数中执行以下操作:

    // Called upon load of element
    loaded(args) {
        // So we don't have to repeat this
        const InputType = android.text.InputType;
        // Get the object of which has been loaded.
        const tf = args.object;
        // Set the keyboard type
        tf._setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD)
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 1970-01-01
    相关资源
    最近更新 更多