这两天终于闲了一下,就顺手又把quick捡起来又学了学,一直都觉得quick比cocos2dx那套lua绑定要方便许多,今天试了下android返回键的监听,还是挺好弄的,所以就有了这篇。

首先说明一下使用的quick版本——2.2.5。

直接上代码

function MainScene:addBackEvent()    if device.platform == "android" then        self.touchLayer = display.newLayer()        self.touchLayer:addNodeEventListener(cc.KEYPAD_EVENT, function(event)            if event.key == "back" then                  --CCDirector:sharedDirector():endToLua()                local javaClassName = "com/cocos2dx/testgame/Testgame"                local javaMethodName = "exit"                luaj.callStaticMethod(javaClassName, javaMethodName)            end        end)        self.touchLayer:setKeypadEnabled(true)        self:addChild(self.touchLayer)    end end
比较好理解,创建一个层,为该层添加一个事件监听,这个事件监听的类型是keypad,如果key的值是back那么就执行里面的代码了,如果不需要显示android原生的对话框,只要关闭程序,只需要执行上面代码中注释的部分就可以了。

2.2.3之后的版本在添加事件监听上与之前有所不同,这里需要注意下。

当然做软件嘛,好歹有个温馨提示,防止用户无意点到退出游戏就不友好了,所以这里调用了一下android原生对话框来显示。quick提供了一个luajavabridge这个sample,可以很轻松调用到android中的静态函数。

这里还是贴一下android中调用的函数代码

public static void exit() {instance.runOnUiThread(new Runnable() {@Overridepublic void run() {Builder builder = new Builder(instance);builder.setTitle("提示");builder.setMessage("确定退出吗");builder.setIcon(android.R.drawable.ic_dialog_info);builder.setPositiveButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {System.exit(0);}});builder.setNegativeButton("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}}).show();}});}
这样就大功告成!

更多相关文章

  1. Android(安卓)通知(使用NotificationCompat.Builder )
  2. Android使用AccessibilityService实现USB扫码枪数据抓取
  3. Android(安卓)之 下拉框(Spinner)的使用
  4. 使用Lint 和 Annotations来提升代码质量
  5. 1.5 Button
  6. 【Android】Android程序保护与破解浅析
  7. Android(安卓)Activity 横竖屏模式切换时会被destroy的问题
  8. android 莫名出现Conversion to Dalvik format failed: Unable t
  9. Android应用的自动升级、更新模块的实现

随机推荐

  1. Android 判断是否是刘海屏
  2. [置顶] Android输入法之——在代码中强制
  3. Android:混淆排除android-support-v4.jar
  4. android 版本更新6.0、7.0和8.0权限适配
  5. Android调用系统功能、apk安装卸载
  6. Android Studio——Android获取屏幕宽度
  7. Android判断手机是否开启了USB调试
  8. 【Android】软键盘弹出收起事件监听
  9. android初始化
  10. android studio 常见错误总结