如何从自定义曲面视图设置按钮的可见性



所以基本上我在android上制作一个非常简单的游戏。在我的Activity中,我有一个SurfaceView和一些标记为播放重新启动Buttons。我相应地设置了Buttons的可见性,这样当游戏处于菜单状态时,它会将播放按钮设置为VISIBLE,而在游戏状态下,它会设置为GONE。重新启动按钮始终设置为GONE,直到玩家输掉游戏为止。我的问题是,当游戏处于失败状态时,SurfaceView如何从主Activity访问重新启动按钮以将其设置为可见?这是它应该如何工作,还是有其他方法?我对安卓系统有点陌生,但我认为这非常重要,这样用户才能真正浏览应用程序,尤其是在游戏中。也许有一些初学者的东西我必须回去?

根据您的类结构,设置一个成员变量来保存对按钮的引用,或者,如果您持有上下文或主布局,则使用Activity.findViewById(ButtonID)或父视图View.findViewById(ButtonID)。或者,您可以引入一个新的例如OnGameState接口,当游戏状态更改时,该接口的实现会得到通知。其中一个实现将设置按钮的状态。

以编程方式编写一个新的重新启动按钮,将其添加到"lost/game-over"活动的布局中。为其onClick()编写适当的代码(类似于完成()当前活动并启动"新游戏"活动)。

最新更新