先上一个颜色值:
黑色: #ff000000
前2位表示透明度
FF:表示十进制值255,范围为0~255(十进制),00(十六进制)表示透明,FF(十六进制)表示不透明
若果想要一个50%透明度的黑色,那么255*0.5=127(取整),转为16进制为7F,最终值 为:#7F000000
进制转换方法
十进制转换十六进制
int i=127;
System.out.println(Integer.toHexString(i)); 结构为 7F
十六进制转为十进制
int j=0x7F;
System.out.println(Integer.valueOf(Integer.toHexString(j), 16)); 结果为127
有个颜色值为#8d8d8d(六位),想要得到70%透明度,为255*0.7=191(取整),取十六进制为BF,最后值为 #BF8d8d8d
有个这个我们可以做一个颜色的渐变动画了
for(int i=0;i<256;i++)
{
String colorValue=Integer.toHexString(i)); //得到十六进制数
int itextColor=Color.parseColor("#"+colorValue); //得到颜色数值
itextView.setTextColor(itextColor);
}
以上方法需要一个延时效果才能看见动画,可以使用ihandler.sendEmptyMessageDelayed(what, delayMillis)来setTextColor处理比较客观,这里延时操作不写代码了,颜色的介绍差不多到这里了