導航:首頁 > 操作系統 > android防止按鈕重復點擊

android防止按鈕重復點擊

發布時間:2025-09-26 20:56:17

1. 【android】自定義Spinner控制項及其使用

一、簡單使用

1. 寫選項值

在res/values/文件夾下新建一個 arrays.xml 文件:

2. 在界面文件中添加Spinner控制項

activity_main.xml 文件:

2.1 dropdown模式

效果:

2.2 dialog模式

效果:

二、自定義dropdown樣式

1. 修改點擊樣式和下拉框樣式

在res/drawable/文件夾下新建兩個文件:

(1)shape_for_custom_spinner.xml 文件(用來定義下拉框的樣式):

(2)selector_for_custom_spinner文件(用來定義Spinner控制項本身的樣式,帶選擇器,有點擊效果):

在界面文件中的Spinner控制項中引用它們:

效果:

2. 增加下劃線

在res/values/文件夾下新建一個style.xml文件:

說明: (1)customTheme——自定義主題樣式,引用它自定義下劃線才能正常顯示。 (2)customSpinnerStyle——自定義的Spinner樣式,和上面的主題樣式一樣在界面文件中引用。 (3)android:divider——分割線顏色。 (4)android:dividerHeight——分割線寬度。

在界面文件中的Spinner控制項中引用它:

效果:

三、動態配置Spinner選項

1. 刪除界面文件中引入的字元串組

即,刪除這一行:

2. 增加一個自定義的layout文件來配置列表樣式

在res/layout/文件夾下新建一個item_for_custom_spinner.xml文件:

3. 在java文件中對Spinner控制項進行配置

MainActivity.java文件:

說明: 不想自己自定義列表樣式可以選擇直接使用Android自帶的support_simple_spinner_dropdown_item 效果:

四、Spinner選擇事件

1. 增加一個簡單的選擇監聽器

可以發現有兩個問題: (1)初始化監聽器的時候事件被調用了。 (2)重復點擊同一選項事情不會被重復調用。

2. 不希望監聽器動作初始化時就被調用

辦法很簡單,就是定義一個flag用來確認監聽器是否是第一次被調用,是則忽略它:

這樣一來,界面初始化時就不會出現監聽器動作被執行了一次的情況了。

3. 不希望重復點擊同一選項時沒有動作

需要重寫Spinner控制項的部分代碼。

(1)在java/com.example.myapplication/文件夾下新建一個ReSpinner.java文件:

(2)替換掉界面文件中的控制項根名稱,其他什麼都不用動: 將

改為

這樣一來,重復點擊同一事件,也能正常多次觸發監聽器動作了。

五、自定義dialog樣式

經過上面的修改,基本已經完成了對dropdown模式下的樣式自定義和監聽器動作自定義了,將spinnerMode改回dialog,增加一個prompt標簽,增加dialog的標題:

(1)先在res/values/strings.xml文件中定義一個標題(必須步驟):

(2)再在邊界文件中引用它:

閱讀全文

與android防止按鈕重復點擊相關的資料

熱點內容
程序員接盤知乎 瀏覽:160
在線編程代碼實現 瀏覽:75
法蘭克數控機床編程角度 瀏覽:129
崩壞三游戲安卓服指的是什麼 瀏覽:698
androidbluedroid 瀏覽:673
一套源碼可以架設幾個服 瀏覽:718
程序員用一串代碼 瀏覽:56
程序員顧默顧筱柒劇情片段 瀏覽:764
深圳壓縮機廠家 瀏覽:967
51單片機c語言實例 瀏覽:311
linux命令bak 瀏覽:432
解壓無聊的視頻 瀏覽:618
35歲以上程序員有前端開發的嗎 瀏覽:351
液態壓縮空氣的時候會吸熱嗎 瀏覽:974
php的cms系統源碼 瀏覽:766
ansysvsel命令 瀏覽:361
php源碼下周 瀏覽:239
王者榮耀轉區安卓轉蘋果怎麼加急 瀏覽:768
分貝演算法定計量單位嗎 瀏覽:777
一天學會51單片機 瀏覽:617