帮助弹出菜单

时间:2019-07-12 12:43:51

标签: java android button popup fragment

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

我正在提供一个屏幕截图,以便您理解我的意思。

这是屏幕截图:

enter image description here

有人知道如何制作这样的东西吗? 基本上,按钮将是灰色的,然后您选择一个和弦,该和弦会同时更改按钮的颜色和文本以及onclick事件以播放和弦。

2 个答案:

答案 0 :(得分:1)

这是我的处理方式:

首先,按钮的网格实际上是带有自定义视图和GridLayoutManager的RecyclerView。

第二,我将有一个与RecyclerView中的每个项目相关联的模型类。该模型将包含应该播放的声音以及您可能想要的其他内容。

第三,我将在RecyclerView上附加一个自定义适配器。每个项目都将具有一个关联的模型对象。当我单击一个对象时,首先要检查它是否有声音(通过检查关联的模型对象)。如果是这样,我只会播放声音。如果没有,我将显示弹出菜单。选择弹出菜单后,我将使用所选数据更新关联的模型,然后更新按钮的视图。

编辑(对GridView进行相同操作)

要实现的目标背后的逻辑与上述内容基本相似,只是更改了项目管理方式。这是必需的步骤

首先,您将必须创建一个GridView,该GridView包含尽可能多的按钮。为每个按钮分配一个唯一的ID,以便可以访问。

第二,创建一个模型类(与RecyclerView相同)。

第三,将单击侦听器附加到GridView中的每个按钮。单击时,将检查与该按钮关联的模型对象。如果它附有声音,则将播放声音。否则,您将显示弹出菜单,并在选择一个项目后将其分配给模型对象。

答案 1 :(得分:0)

有两种实现方法。

1。通过视图实现

通过视图实现此功能,与上下文菜单相比,它具有一个优势,您可以设计自己的视图并像Pinterest和all的应用程序一样实现视图

2。通过上下文菜单实现

上下文菜单是内置功能,可让您实现菜单类型。这是内置视图,您可以实现编写几行代码