2016-02-06 34 views
0

我在下面提供了一張圖片,以便您可以更好地理解。基本上我希望用戶從1-10中選擇一個由圓圈表示的數字(一次只能選擇1個數字)。比方說,我選擇數字10,正如你可以看到圖片上我想要圓圈描邊,並在數字被選中時改變顏色(指示用戶數字已被選擇)。在挑選號碼後,按下「藍色按鈕」,我想得到的值爲進行其他計算。Android - 選擇圓形觸摸物體顯示的選項

This is how I want it to be

我覺得有一個基於觸摸的圓圈是做,而不是使用旋轉器的,因爲它需要更多的時間的最佳方式。現在的問題是如何做到這一點沒有代碼重複或冗餘,以及如何以最好的方式實現這一點。我想我必須創建一個圓形對象(可能是圓形的按鈕形狀)10次,然後在它們上面放置文本,將它們分組到數組中?或者是否有更高效的方法來完成此操作。

回答

0

我相信有更好的方法來實現這一點,但我建議一個簡單的解決方案,因爲你想要的!

現在的問題是如何做到這一點沒有代碼重複或冗餘?

您可以在drawable文件夾中創建一個xml文件,並把兩個不同的橢圓shape在那隻:defaultShapepickedShape,使用<solid><stroke>標籤來定製你的形狀,只要你喜歡,然後將其應用到你的按鈕'background

爲了處理您的按鈕採摘您應該實現同onClickListener所有10個按鈕,如果其中一人被挑選將其保存到一個臨時變量像Button pickedButton,在你的聽衆的檢查,如果pickedButtonnull改變其背景到defaultShape,然後將新挑選的一個分配給pickedButton,然後將其background更改爲pickedShape

希望你覺得它有幫助。