亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

幫助彈出菜單

幫助彈出菜單

桃花長相依 2023-03-23 16:28:21
我有一個 Android 音樂應用程序。它是一個使用 SoundPool 來播放聲音的 pad 應用程序。我想實現的是一個頁面,用戶可以在其中選擇自己的和弦。我已經實現了一個彈出菜單,它可以工作,但是我不知道在彈出菜單中單擊所選和弦后如何更改按鈕。我提供了一個截圖,所以你會明白我的意思。這是一個截圖:有沒有人知道如何制作這樣的東西?基本上按鈕是灰色的,然后你選擇一個和弦,它會改變按鈕的顏色和文本以及 onclick 事件來演奏和弦。
查看完整描述

2 回答

?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

這是我將如何做到這一點:

首先,按鈕網格實際上是一個帶有自定義視圖的 RecyclerView 和一個 GridLayoutManager。

其次,我將有一個模型類與 RecyclerView 中的每個項目相關聯。該模型將包含它應該播放的聲音以及您可能需要的其他內容。

第三,我會在 RecyclerView 上附加一個自定義適配器。每個項目都會有一個關聯的模型對象。當我點擊一個對象時,我會首先檢查它是否附加了一些聲音(通過檢查關聯的模型對象)。如果是,我會簡單地播放聲音。如果沒有,我將顯示彈出菜單。在選擇彈出菜單時,我會用所選數據更新關聯模型,然后更新按鈕的視圖。

編輯(對 GridView 做同樣的事情)

您想要實現的目標背后的邏輯與上述內容基本相似,只是您管理項目的方式發生了變化。這是所需的步驟

首先,您必須創建一個包含盡可能多的按鈕的 GridView。為每個按鈕分配一個唯一的 ID,以便可以訪問。

其次,創建一個模型類(與 RecyclerView 的情況相同)。

第三,將點擊偵聽器附加到 GridView 中的每個按鈕。單擊時,您將檢查與該按鈕關聯的模型對象。如果它附有一些聲音,您將播放聲音。否則,您將顯示彈出菜單并在選擇項目時將其分配給模型對象。


查看完整回答
反對 回復 2023-03-23
?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

有兩種方法可以實現它。

1.通過視圖實現

通過視圖實現此功能,這比上下文菜單有一個優勢,您可以設計自己的視圖并像 Pinterest 的應用程序一樣實現它和所有

2.通過上下文菜單實現

上下文菜單是內置函數,可讓您實現菜單類型。這是內置視圖,您可以編寫幾行代碼來實現


查看完整回答
反對 回復 2023-03-23
  • 2 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號