要動態使用Android的ColorStateList,可以通過代碼創建一個ColorStateList對象,并將其應用到View或Drawable對象上。以下是一個示例代碼:
// 創建一個ColorStateList對象
int[][] states = new int[][] {
new int[] {android.R.attr.state_pressed},
new int[] {android.R.attr.state_focused},
new int[] {}
};
int[] colors = new int[] {
Color.RED,
Color.GREEN,
Color.BLUE
};
ColorStateList colorStateList = new ColorStateList(states, colors);
// 應用ColorStateList到一個Button上
Button button = findViewById(R.id.button);
button.setTextColor(colorStateList);
在這個例子中,我們首先創建一個包含不同狀態和顏色的ColorStateList對象。然后,我們將這個ColorStateList對象應用到一個Button的文本顏色上。根據Button的不同狀態(按下、獲取焦點、普通狀態),文本顏色會自動根據ColorStateList中定義的顏色進行切換。