Android并发编程高级面试题汇总最全最细面试题讲解持续更新中👊👊 👀你想要的面试题这里都有👀 👇👇👇
如何实现Activity窗口快速变暗
这道题想考察什么?
考察同学对Activity的窗口属性是否熟悉
考生应该如何回答
每个Activity都有一个属于自己的window,也就是一个PhoneWindow,所以activity的窗口相关的控制都是由这个window来统一的处理的,因此,对activity窗口的亮度变化需要看window中是否有对应的属性提供给开发者。而恰好window属性中恰好就有这个变量:alpha属性,所有,我们可以通过alpha属性来控制Activity窗口亮度。具体的代码大家可以参考下面的代码。
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);
详细Vx关注公众号:Android老皮
目录
第一章 Java方面
- Java基础部分
- Java集合
- Java多线程
- Java虚拟机