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

    xiaoxiao2025-01-13  10

    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); } }
    转载请注明原文地址: https://ju.6miu.com/read-1295422.html
    最新回复(0)