#有什么便捷的方式实现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);
#更多参考资料
#关于我
江湖人称『凯子哥』,其实就是一个闷骚的90后技术宅,Android开发者,喜欢技术分享,热爱开源。
- 我的CSDN博客:http://blog.csdn.net/zhaokaiqiang1992
- 我的微博:裸奔的凯子哥,每天会不定时分享高质量博客,欢迎关注
- 微信公众账号:kaizige1992