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

本文介绍了Android高级面试中的一个题目,涉及如何通过调整`Window`的`alpha`属性实现Activity窗口的快速变暗和变亮。内容涵盖了Java基础、集合、多线程和Java虚拟机。附有面试真题答案PDF链接和ChatGPT福利。

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);

由于面试题内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要2023年Android中高级最全面试真题答案 完整文档的可扫描下方卡片免费获取~

PS:(文末还有使用ChatGPT机器人小福利哦!!大家不要错过)

目录

img

第一章 Java方面

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

img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值