帮助弹出菜单

我有一个 Android 音乐应用程序。它是一个使用 SoundPool 来播放声音的 pad 应用程序。我想实现的是一个页面,用户可以在其中选择自己的和弦。我已经实现了一个弹出菜单,它可以工作,但是我不知道在弹出菜单中单击所选和弦后如何更改按钮。

我提供了一个截图,所以你会明白我的意思。

这是一个截图:

http://img.mukewang.com/641c0dbf00013fca06501102.jpg

有没有人知道如何制作这样的东西?基本上按钮是灰色的,然后你选择一个和弦,它会改变按钮的颜色和文本以及 onclick 事件来演奏和弦。



桃花长相依
浏览 83回答 2
2回答

温温酱

这是我将如何做到这一点:首先,按钮网格实际上是一个带有自定义视图的 RecyclerView 和一个 GridLayoutManager。其次,我将有一个模型类与 RecyclerView 中的每个项目相关联。该模型将包含它应该播放的声音以及您可能需要的其他内容。第三,我会在 RecyclerView 上附加一个自定义适配器。每个项目都会有一个关联的模型对象。当我点击一个对象时,我会首先检查它是否附加了一些声音(通过检查关联的模型对象)。如果是,我会简单地播放声音。如果没有,我将显示弹出菜单。在选择弹出菜单时,我会用所选数据更新关联模型,然后更新按钮的视图。编辑(对 GridView 做同样的事情)您想要实现的目标背后的逻辑与上述内容基本相似,只是您管理项目的方式发生了变化。这是所需的步骤首先,您必须创建一个包含尽可能多的按钮的 GridView。为每个按钮分配一个唯一的 ID,以便可以访问。其次,创建一个模型类(与 RecyclerView 的情况相同)。第三,将点击侦听器附加到 GridView 中的每个按钮。单击时,您将检查与该按钮关联的模型对象。如果它附有一些声音,您将播放声音。否则,您将显示弹出菜单并在选择项目时将其分配给模型对象。

三国纷争

有两种方法可以实现它。1.通过视图实现通过视图实现此功能,这比上下文菜单有一个优势,您可以设计自己的视图并像 Pinterest 的应用程序一样实现它和所有2.通过上下文菜单实现上下文菜单是内置函数,可让您实现菜单类型。这是内置视图,您可以编写几行代码来实现
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java