1. 程式人生 > >Android 便捷的方式實現Activity變暗的效果

Android 便捷的方式實現Activity變暗的效果

不要新開啟Activity的方式
也不要使用Dialog
讓背景跟Dialog出現一樣,變暗,帶動畫。

private void dimBackground(final float from, final float to) {
        final Window window = getWindow();
        ValueAnimator valueAnimator = ValueAnimator.ofFloat(from, to);
        valueAnimator.setDuration(500);
        valueAnimator.addUpdateListener(new AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
                WindowManager.LayoutParams params = window.getAttributes();
                params.alpha = (Float) animation.getAnimatedValue();
                window.setAttributes(params);
            }
        });

        valueAnimator.start();
    }

親測可用

/** 視窗背景變暗*/
dimBackground(1.0f,0.5f);

/** 視窗背景變亮*/
dimBackground(0.5f,1.0f);