COCOS2DXLUA输入框不弹出

安卓真机上不弹出输入法

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)