安卓真机上不弹出输入法
EditBox = class(“EditBox”, function(size, imageId, resType)
local editBox = ccui.EditBox:create(size, "white.png", resType or ccui.TextureResType.localType)
editBox:enableNodeEvents()
return editBox
end)
EditBox.Mode =
{
ANY = 0,
EMAIL_ADDRESS = 1,
NUMERIC = 2,
PHONE_NUMBER = 3,
URL = 4,
DECIMAL = 5,
SINGLE_LINE = 6,
}
EditBox.Flag =
{
PASSWORD = 0,
SENSITIVE = 1,
INITIAL_CAPS_WORD = 2,
INITIAL_CAPS_SENTENCE = 3,
INITIAL_CAPS_ALL_CHARACTERS = 4,
}
EditBox.ReturnType =
{
DEFAULT = 0,
DONE = 1,
SEND = 2,
SEARCH = 3,
GO = 4,
};
EditBox.TextHAlignment =
{
LEFT = 0,
CENTER = 1,
RIGHT = 2,
}
function EditBox.create(imageId, text, resType, size)
local editBox = EditBox.new(cc.size(width, height), imageId, resType)
if editBox:init(text, size) then return editBox end
end
function EditBox:init(text, size)
local marginLeft = 10
local marginRight = ls.w(self) - 10
self:setPlaceholderFontName(App.SYS_FONT)
self:setFontName(App.SYS_FONT)
self:setInputMode(EditBox.Mode.SINGLE_LINE)
self:setText("")
self:setInputFlag(EditBox.Flag.SENSITIVE)
self:setPlaceHolder(text)
self:setContentSize(size)
self._num = 0
self._isCurrency = false
return true
end
function EditBox:setProp(isVisible, isEnabled, isCenter, color, isNumber, text)
self:setVisible(isVisible)
self:setTouchEnabled(isEnabled)
end
function EditBox:setSelfContentSize(size)
self:setScale9Enabled(true)
self:setContentSize(size)
self:setContentSize(cc.size(size.width - 10, size.height))
end
function EditBox:loadBg(framename, crect)
self:loadTexture(framename, ccui.TextureResType.plistType)
self:setCapInsets(crect)
end
function EditBox:setSelfInputFlag(inputFlag)
self:setInputFlag(inputFlag)
end
function EditBox:setSelfTextFont(font, fontSize)
self:setFont(font, fontSize)
end
function EditBox:setSelfTextFontSize(size)
self:setFontSize(size)
end
function EditBox:setTextColor(color)
self:setFontColor(color)
end
function EditBox:setSelfPlaceHolder(text)
self:setPlaceHolder(text)
end
function EditBox:setSelfPlaceHolderFont(font, fontSize)
self:setPlaceholderFont(font, fontSize)
end
function EditBox:setSelfPlaceHolderColor(color)
self:setPlaceholderFontColor(color)
end
function EditBox:setSelfPlaceHolderFontSize(size)
self:setPlaceholderFontSize(size)
end
function EditBox:getSelfPlaceHolder()
return self:getPlaceHolder()
end
function EditBox:registerScriptHandler(handler)
self:registerScriptEditBoxHandler(handler)
end
–设置编辑框控件光标高度
function EditBox:setCurSorHeight(height)
--todo implement
end
–设置编辑框的光标位置
function EditBox:setCurSorPos(pos)
--todo implement
end
–设置编辑框文本内容为指定的数字
function EditBox:setInt(num)
self._num = num
end
–设置编辑框为货币类型
function EditBox:setIsCurrency(isCurrency)
if self._isCurrency then
editBox:setText(string.formatnumberthousands(self._num))
else
editBox:setText(self._num)
end
end
–获取编辑框是否为货币类型
function EditBox:getIsCurrency()
return self._isCurrency
end
–设置编辑框控件中文本描边颜色
function EditBox:setTextGrowColor(color)
self:getText():enableOutline(color, 1)
end
-================================ EditBox API Start ===================================
–文本编辑框
–[[
parent:父节点
editName:标记框名字
posX:添加到父节点的x坐标
posY:添加到父节点的y坐标
width:设置图片的宽
height:设置图片的高
text:文本输入框没有输入文字时的文字
resType:加载资源的方式 0:本地加载,1:plist加载
]]
function GUI.EditCreate(parent, editName, imageId, posX, posY, width, heigth, text, resType)
if parent == nil and imageId == nil then return end
local editBox = EditBox.create(imageId, text, resType, cc.size(width, heigth))
if editBox then
editBox._name = editName
ls.addChild2Pos(parent, editBox, cc.p(posX, posY))
return editBox
else
--todo
end
end
– --设置文本编辑框的属性
– function GUI.EditSetProp(editBox, isVisible, isEnabled, isCenter, color, isNumber, text)
– if editBox == nil then return end
– editBox:setProp(isVisible, isEnabled, isCenter, color, isNumber, text)
– end
– function GUI.EditSetContentSize(editBox, size)
– if editBox == nil then return end
– editBox:setSelfContentSize(size)
– end
– function EditBox:loadBg(framename, crect)
– self:loadTexture(framename, ccui.TextureResType.plistType)
– self:setCapInsets(crect)
– end
–设置编辑框为数字编辑框
function GUI.EditSetBNumber(editBox, inputMode)
if editBox == nil then return end
editBox:setInputMode(EditBox.Mode.NUMERIC)
end
–获取编辑框是否为数字编辑框
function GUI.EditGetBNumber(editBox)
return editBox:getInputMode() == EditBox.Mode.NUMERIC
end
–设置编辑框是否可以编辑
function GUI.EditSetCanEdit(editBox, flag)
if editBox == nil then return end
editBox:setTouchEnabled(flag)
end
–获取编辑框是否可以编辑
function GUI.EditGetCanEdit(editBox)
return editBox:isTouchEnabled()
end
–设置编辑框控件光标高度
function GUI.EditSetCurSorHeight(editBox, height)
if editBox == nil then return end
editBox:setCurSorHeight(height)
end
–设置编辑框的光标位置
function GUI.EditSetCurSorPos(editBox, posX, poxY)
if editBox == nil then return end
editBox:setCurSorPos(cc.p(posX, posY))
end
–设置编辑框背景图片的偏移值
function GUI.EditSetEditImageOffset(editBox, offsetX, offsetY)
if editBox == nil then return end
editBox:setEditImageOffset(cc.p(offsetX, offsetY))
end
–设置编辑框的文本居中显示
function GUI.EditSetFontCenter(editBox)
if editBox == nil then return end
editBox:setTextHorizontalAlignment(EditBox.TextHAlignment.CENTER)
end
–设置编辑框文本的字体
function GUI.EditSetFontM(editBox, text)
editBox:setFontName(text)
end
–设置编辑框文本内容为指定的数字
function GUI.EditSetInt(editBox, num)
editBox:setInt(num)
end
–设置编辑框为货币类型
function GUI.EditSetIsCurrency(editBox, isCurrency)
editBox:setIsCurrency(isCurrency)
end
–获取编辑框是否为货币类型
function GUI.EditGetIsCurrency(editBox)
return editBox:getIsCurrency()
end
–设置编辑框是否为密码编辑框
function GUI.EditSetIsPassWord(editBox, isCurrency)
editBox:setInputFlag(EditBox.Flag.PASSWORD)
end
–获取编辑框是否为货币类型
function GUI.EditGetIsCurrency(editBox)
return editBox:getInputFlag() == EditBox.Flag.PASSWORD
end
–设置编辑框是否限制字体大小
function GUI.EditSetLimitStringSize(editBox, flag)
--todo implement
end
–设置编辑框允许的最大字符个数
function GUI.EditSetMaxCharNum(editBox, maxLength)
editBox:setMaxLength(maxLength)
end
–获取编辑框允许的最大字符个数
function GUI.EditGetMaxCharNum(editBox)
editBox:getMaxLength()
end
–设置编辑框是否可多行编辑
function GUI.EditSetMultiLineEdit(editBox, maxLength)
--todo implement
end
–获取编辑框是否可多行编辑
function GUI.EditGetMultiLineEdit(editBox)
--todo implement
end
–设置编辑框保留的字符串数目
function GUI.EditSetRememberStrNum(editBox, maxLength)
--todo implement
end
–获取编辑框保留的字符串数目
function GUI.EditGetRememberStrNum(editBox)
--todo implement
end
–设置编辑框是否明文显示密码
function GUI.EditSetShowPassword(editBox, maxLength)
--todo implement
end
–获取编辑框是否明文显示密码
function GUI.EditGetShowPassword(editBox)
--todo implement
end
–设置编辑框文本颜色
function GUI.EditSetTextColor(editBox, color)
editBox:setTextColor(color)
end
–设置编辑框控件中文本描边颜色
function GUI.EditSetTextGrowColor(editBox, color)
editBox:setTextGrowColor(color)
end
–设置编辑框的文本内容
function GUI.EditSetTextM(editBox, text)
editBox:setText(text)
end
–获取编辑框的文本内容
function GUI.EditGetTextM(editBox)
editBox:getText()
end
–设置输入框的输入模式
function GUI.EditSetInputMode(editBox, inputMode)
if editBox == nil then return end
editBox:setInputMode(inputMode)
end
–获取输入框的输入模式
function GUI.EditGetInputMode(editBox)
return editBox:getInputMode()
end
–设置输入框的显示模式
function GUI.EditSetInputFlag(editBox, inputFlag)
editBox:setInputFlag(inputFlag)
end
–设置输入框的文字的字体和字体大小
function GUI.EditSetTextFont(editBox, font, fontSize)
editBox:setFont(font, fontSize)
end
–设置输入框的文字的字体大小
function GUI.EditSetTextFontSize(editBox,size)
editBox:setFontSize(size)
end
–获取输入框的文字
function GUI.EditGetText(editBox)
return editBox:getText()
end
–设置输入框未输入时显示的提示文字
function GUI.EditSetPlaceHolder(editBox, text)
editBox:setPlaceHolder(text)
end
–获取输入框未输入时显示的提示文字
function GUI.EditGetPlaceHolder(editBox)
return editBox:getPlaceHolder()
end
–设置输入框未输入时显示的提示文字的字体文件和字体大小
function GUI.EditSetPlaceHolderFont(editBox, font, fontSize)
editBox:setPlaceholderFont(font, fontSize)
end
–设置输入框未输入时显示的提示文字的颜色
function GUI.EditSetPlaceHolderColor(editBox, color)
editBox:setPlaceholderFontColor(color)
end
–设置输入框未输入时显示的提示文字的和字体大小
function GUI.EditSetPlaceHolderFontSize(editBox, size)
editBox:setPlaceholderFontSize(size)
end
– 账号输入框
layout._accountEditBox = GUI.EditCreate(layout, "", "", 710, 417, 170, 20, STR.PLEASE_INPUT_ACOUNT, 0)
-- 密码输入框
layout._passwordEditBox = GUI.EditCreate(layout, "", "", 710, 382, 170, 20, STR.PLEASE_INPUT_PASSWORD, 0)
GUI.EditSetInputFlag(layout._passwordEditBox, EditBox.Flag.PASSWORD)