Android高级UI面试题汇总(含详细解析二十三)

65 阅读1分钟

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老皮

目录

img

第一章 Java方面

  • Java基础部分
  • Java集合
  • Java多线程
  • Java虚拟机

img