键盘类型Ti.UI.KEYBOARD_DECIMAL_PAD

时间:2016-03-22 08:48:02

标签: iphone keyboard appcelerator appcelerator-titanium

我创建了一个包含以下属性的文本字段:

keyboardType: Ti.UI.KEYBOARD_DECIMAL_PAD
returnKeyType: Ti.UI.RETURNKEY_DONE

我在iphone设备上测试了这个。出现小数点,但没有完成按钮。

我也试过其他按钮类型,没有成功。似乎无法为returnKeyType设置KEYBOARD_DECIMAL_PAD

当我将键盘类型更改为KEYBORD_DEFAULTKEYBOARD_NUMBERS_PUNCTUATION时,它可以正常工作。

最后一个选项(KEYBOARD_NUMBERS_PUNCTUATION)是我可以使用的替代方案,但有人可以告诉我为什么它不使用KEYBOARD_DECIMAL_PAD

感谢。

2 个答案:

答案 0 :(得分:6)

KEYBOARD_DECIMAL_PAD没有提供done按钮。您必须在TextField上添加一个KeyboardToolbar才能添加一个关闭键盘的按钮,如下所示:

你的.xml

中的

<TextField id="textfield">
    <KeyboardToolbar platform="ios">
      <Toolbar>
          <Items>
              <Button title="Done" onClick="hideKeyboard" />
          </Items>
      </Toolbar>
    </KeyboardToolbar>
</TextField>
你的.js中的

function hideKeyboard(e){
  $.textfield.blur()
}

答案 1 :(得分:1)

在存档的答案中提供 这个问题只是一个解决方法。 这是为软键盘按钮工具栏添加一个完成按钮 https://archive.appcelerator.com/question/123421/done-button-on-numeric-keypad-can-this-be-done-in-appcelerator

简单地回答:

var doneButton = Ti.UI.createButton({ systemButton: Ti.UI.iPhone.SystemButton.DONE });
$.creditNum_txt.keyboardToolbar = [doneButton];
$.creditNum_txt.addEventListener('focus', function(e) {
    $.creditNum_txt.keyboardToolbar = [doneButton];
    doneButton.activeFld = $.creditNum_txt;
});
doneButton.addEventListener('click', function(e) { 
    e.source.activeFld.blur(); 
});