將顏色定義爲int
常量並在每次需要時將它們從xml
中拉出來靜態訪問它們時是否有任何缺陷?在Java文件中定義顏色常量而不是xml
例如,假設我定義了一個名爲AppColors
類:
public final class AppColors {
private AppColors() { throw new AssertionError(); }
public static final int COLOR_RED_500 = 0xFFF44336;
}
而且隨着AppColors.COLOR_RED_500
訪問顏色,而通常的路線是getResources().getColor(R.color.red_500)
。
除了一個事實,即顏色很可能需要在xml
佈局/主題被定義兩次,一次又一次的代碼,以這種方式定義顏色將有不需要重複getResources()
電話的優勢和需要將Context
參數傳遞給不從Context
類繼承的類的方法和構造函數。
實際上製作對'getResources()'的調用需要特定類的'context',所以可能通過'getresources()。getColor()'訪問顏色比訪問它作爲'YourColorClass.colorName'稍微重要,但訪問時間或資源的差異可以忽略不計。 – Apurva