【问题标题】:Detecting Keyboard Visible with Lua on Corona SDK在 Corona SDK 上使用 Lua 检测可见的键盘
【发布时间】:2014-09-20 01:41:36
【问题描述】:

由于我的 2 个文本框位于屏幕底部,我开发了以下代码,以便在触摸其中一个时将我的文本框移动到新位置(以防止键盘重叠):

local textField = native.newTextField( display.contentCenterX, display.contentCenterY + 60, 200, 40 )
textField.placeholder = "Email"
textField.isEditable = true

local textField2 = native.newTextField( display.contentCenterX, display.contentCenterY + 110, 200, 40 )
textField2.placeholder = "Password"
textField2.isEditable = true

 --function to handle events

 local function touchListener(oEvent)
    local oTextField = oEvent.target

    if "began" == oEvent.phase then

      textField.y = display.contentCenterY - 120
      textField2.y = display.contentCenterY - 70
      myText.y = 55

      local button2 = widget.newButton
{
    x = display.contentCenterX,
    y = display.contentCenterY - 20,
    id = "loginbutton",
    defaultFile = "buttonDefault.png",
    font = "Georgia",
    labelColor = { default={ 1, 1, 1 } },
    label = "Login"

}

    elseif "editing" == oEvent.phase then

    elseif "submitted" == oEvent.phase then

      textField.y = display.contentCenterY - 120
      textField2.y = display.contentCenterY - 70
      myText.y = 55

      button2.isVisible = false
      native.setKeyboardFocus( nil ) --hides keyboard

    elseif "ended" == oEvent.phase then

        textField.y = display.contentCenterY + 60
        textField2.y = display.contentCenterY + 110
        myText.y = display.contentCenterY - 3


    end
end

textField:addEventListener( "userInput", touchListener )

能否请一些人帮助我在键盘不可见时如何使用 Lua 进行检测,以便如果用户退出文本框(通过按下或按下 Android 上的“返回”功能) 我可以这样做,让文本框回到原来的位置吗?

提前感谢您的帮助!

【问题讨论】:

    标签: android lua coronasdk


    【解决方案1】:

    执行此操作的正确方法是创建您需要的所有小部件并仅在需要时隐藏/显示。例如,

    1. 在场景初始化中创建textfieldtextfield2button2(如createScene 事件处理程序),然后在两个文本字段上设置一个点击侦听器。在按钮上设置点击监听器。
    2. 在点击侦听器中,您可以移动两个文本字段,并使按钮可见。
    3. 在按钮单击处理程序中,您可以恢复两个文本字段的 y 位置,并隐藏按钮。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 2015-02-09
      • 1970-01-01
      • 2013-06-04
      • 2018-01-16
      • 2012-05-08
      • 1970-01-01
      相关资源
      最近更新 更多