一、說明
其實如果只是要讓按鈕不響應事件,有很多種方法:你可以用變量控制你的邏輯;可以設置 onPressed 爲 null;可以用AbsorbPointer 禁用事件......
我的場景是要給按鈕設置 disabledColor,在 button 爲 enable 時一種顏色,爲 disable 時又是另外一個顏色,但是設置完 disabledColor 後,怎樣設置 disable 呢,看了一下按鈕的所有屬性,也沒有 enable 相關的設置啊,我去,這不合理吧 !
二、解決
我們看一下 disableColor 屬性的說明:
你妹啊!原來你的 enable 判斷是用 onPressed 是否爲 null 進行判斷的!不禁感嘆:縱橫江湖幾十載,第一次見這種判斷方法,就不能常規點,加一個屬性嗎 ?
現在知道了它的實現原理,你也應該知道怎樣設置 disable 了:
只需要給 onPressed 置爲 null 就可以了。
搞定!