Alternative to setAlpha in api level 8

后端 未结 5 1337
别那么骄傲
别那么骄傲 2021-01-01 17:25

I am working on an app, which can run on Froyo as well as JellyBean. I have a class that extends PageTransformer as below:

import a         


        
5条回答
  •  北海茫月
    2021-01-01 18:18

    To be both forward and backward compatible I use following implementation for my views:

    private void fadeOut(final View view) {
        int sdk = android.os.Build.VERSION.SDK_INT;
        if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
            AlphaAnimation alpha = new AlphaAnimation(1f, 0f);
            alpha.setDuration(mAnimationDuration);
            alpha.setFillAfter(true);
            view.startAnimation(alpha);
        } else {
            view.animate()
            .alpha(0f)
            .setDuration(mAnimationDuration)
            .setListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {
                    view.setVisibility(View.GONE);
                }
            });
        }
    }
    
    private void fadeIn(View view) {
        int sdk = android.os.Build.VERSION.SDK_INT;
        if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
            view.setVisibility(View.VISIBLE);
            AlphaAnimation alpha = new AlphaAnimation(0f, 1f);
            alpha.setDuration(mAnimationDuration);
            alpha.setFillAfter(true);
            view.startAnimation(alpha);
        } else {
            view.setAlpha(0f);
            view.setVisibility(View.VISIBLE);
    
            view.animate()
            .alpha(1f)
            .setDuration(mAnimationDuration)
            .setListener(null);
        }
    }
    

提交回复
热议问题