Android view背景动态改变带简单淡入淡出动画

来源:互联网 发布:mysql scope identity 编辑:程序博客网 时间:2024/05/19 13:45
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);        }    }
0 0
原创粉丝点击