Android類似Dialog彈出變暗
阿新 • • 發佈:2019-02-03
Dialog彈出時,會有個動畫使底下變暗,Android有什麼便捷的方式可以實現activity變暗的效果嗎?類似Dialog,當然,要帶變暗動畫的。
補充一下:不要新開啟Activity的方式,也不要使用Dialog。
比如顯示一個ProgressBar,讓背景跟Dialog出現一樣,變暗,帶動畫,
/** * 調整視窗的透明度 * @param from>=0&&from<=1.0f * @param to>=0&&to<=1.0f * * */ 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);