int firstDefaultColor;
boolean firstDefaultColorHasSet=false;
///////////////////////////////
private void changeBgColor(View view,boolean isBack) {
Log.d(TAG, "changeBgColor: isBack:"+isBack);
int commColor= 0xffffffff;//白色
//from xml config color
if (!firstDefaultColorHasSet){//只赋值一次 用于获取xml里的背景颜色值
Log.d(TAG, "changeBgColor: firstDefaultColorHasSet:"+firstDefaultColorHasSet);
try{
ColorDrawable drawable = (ColorDrawable) view.getBackground();
if (drawable!=null){
firstDefaultColor= drawable.getColor();
firstDefaultColorHasSet=true;
}else {
firstDefaultColorHasSet=true;
}
}catch (Exception e){
//
firstDefaultColorHasSet=true;
}
}
if (firstDefaultColorHasSet){
commColor=firstDefaultColor;
}
//
int defaultColor_start=0xff6C6C6C;
int defaultColor_end=commColor;
int startColor =isBack?defaultColor_start:defaultColor_end;//0xffff0000
int endColor = isBack?defaultColor_end:defaultColor_start;
Log.d(TAG, "changeBgColor: startColor:"+startColor);
Log.d(TAG, "changeBgColor: endColor:"+endColor);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP){
ObjectAnimator anim= ObjectAnimator.ofArgb(view,"backgroundColor",startColor,endColor);
anim.setDuration(200);
anim.start();
view.setAlpha(0.7f);
}else{
view.setBackgroundColor(endColor);
view.setAlpha(0.7f);
}
}
Android view背景动态改变带简单淡入淡出动画
最新推荐文章于 2024-05-28 18:33:08 发布
