2017-01-04 76 views

回答

2

第一個線索是文檔告訴我們FOCUSED_STATE_SET是一個用於Drawables的狀態,特別是getDrawableState()

另一個線索是它是靜態的還是最終的,這意味着它是一個常量,而不是描述任何特定視圖的當前狀態。

FOCUSED_STATE_SET描述了指示視圖被聚焦的狀態。在這種情況下的「設置」並不意味着真實或錯誤的「是這件事」,而是將聚焦狀態描述爲一組多個狀態

我們可以在View類中找到許多_STATE_SET常量的look at the definition並查看它們實際包含的內容。事實上,這些常數中有很多包含多個狀態,如SELECTED_WINDOW_FOCUSED_STATE_SET,它描述了StateSet.VIEW_STATE_WINDOW_FOCUSEDStateSet.VIEW_STATE_SELECTED的組合。

FOCUSED_STATE_SET只是StateSet.VIEW_STATE_FOCUSED,但仍然是一個數組,因此它是Drawable#getDrawableState()的有效狀態。