2016-05-20 26 views
4

我创建了一个具有UrhoSharp表面的Activity;返回按钮在UrhoSharp中没有响应

SDLSurface surface = UrhoSurface.CreateSurface(this, typeof(UrhoLayer), appOptions); 

现在后退按钮不响应。我试着重写onBackPressed(),但是当我按下后退按钮时,这个函数不会被调用。如何使后退按钮工作?

回答

2

我通过捕获DispatchKeyEvent中的后退按钮解决了这个问题。不是一个非常令人满意的解决方案,但它的作品:

public override bool DispatchKeyEvent(KeyEvent e) 
    { 
     if (e.Action == KeyEventActions.Up && e.KeyCode == Keycode.Back) 
     { 
      OnBackPressed(); 
      return true; 
     } 
     if (!UrhoSurface.DispatchKeyEvent(e)) 
      return false; 
     return base.DispatchKeyEvent(e); 
    } 
+0

它的工作原理!谢谢。现在我有一个新问题。当我再次打开活动时按下后,UrhoSurface无法加载。一个黑色的屏幕出现在UrhoSurface视图的位置,没有任何反应。如何解决这个?? – Santosh

+0

我还没有经历过,所以我想这不是UrhoSharp的问题,而且问题在于应用逻辑中的其他地方。 – larspars