我正在尝试ColorStateList使用以下方式以编程方式创建一个:
ColorStateList
ColorStateList stateList = new ColorStateList(states, colors);
但我不确定这两个参数是什么。
根据文档:
public ColorStateList (int[][] states, int[] colors) 在 API 级别 1 中添加 创建一个 ColorStateList,它返回从状态到颜色的指定映射。
public ColorStateList (int[][] states, int[] colors)
在 API 级别 1 中添加
创建一个 ColorStateList,它返回从状态到颜色的指定映射。
有人可以解释一下如何创建这个吗?
状态的二维数组是什么意思?
有关可用状态的列表,请参阅http://developer.android.com/reference/android/R.attr.html#state_above_anchor。
如果您想为禁用、未聚焦、未选中状态等设置颜色,只需否定这些状态:
int[][] states = new int[][] { new int[] { android.R.attr.state_enabled}, // enabled new int[] {-android.R.attr.state_enabled}, // disabled new int[] {-android.R.attr.state_checked}, // unchecked new int[] { android.R.attr.state_pressed} // pressed }; int[] colors = new int[] { Color.BLACK, Color.RED, Color.GREEN, Color.BLUE }; ColorStateList myList = new ColorStateList(states, colors);