Thứ nguyên thứ nhất là một mảng các tập trạng thái, thứ hai là trạng thái tự đặt. Mảng màu liệt kê các màu cho từng bộ trạng thái khớp, do đó độ dài của mảng màu phải khớp với thứ nguyên đầu tiên của mảng trạng thái (hoặc nó sẽ bị sập khi trạng thái được "sử dụng"). Ở đây và ví dụ:
ColorStateList myColorStateList = new ColorStateList(
new int[][]{
new int[]{android.R.attr.state_pressed}, //1
new int[]{android.R.attr.state_focused}, //2
new int[]{android.R.attr.state_focused, android.R.attr.state_pressed} //3
},
new int[] {
Color.RED, //1
Color.GREEN, //2
Color.BLUE //3
}
);
hi vọng điêu nay co ich.
Ví dụ EDIT: danh sách trạng thái màu xml như:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/white"/>
<item android:color="@color/black"/>
</selector>
sẽ trông như thế này
ColorStateList myColorStateList = new ColorStateList(
new int[][]{
new int[]{android.R.attr.state_pressed},
new int[]{}
},
new int[] {
context.getResources().getColor(R.color.white),
context.getResources().getColor(R.color.black)
}
);