Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 从溢出菜单进入/退出动画中删除额外的背景颜色矩形?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

当我在我的应用程序中打开溢出菜单时,我看到菜单背景颜色的实心矩形显示菜单本身的整个进入/退出动画中.这是一个动画显示这个(减速到75%的速度):

这个无关的彩色矩形的存在破坏了漂亮的进/出动画!如何在保留所有其他工具栏样式的同时将其删除

研究

我已经阅读了关于SO的工具栏样式的一堆答案,以及Chris Banes关于这个主题的帖子.似乎在每个视图的基础上使用样式/主题标签在过去的几年中已经发生了变化,这使得很难在任何地方找到确定的信息.

我使用支持库的22.1.0到23.2.0(包括)版本重现了这一点.

应用文件

styles.xml

activity_main.xml中

运行时视图分析

作为@Commonsware suggested,我在运行时查看了视图层次结构.在结果中编辑:

菜单折叠(存在溢出按钮,没有神秘的额外矩形):

android  – 从溢出菜单进入/退出动画中删除额外的背景颜色矩形?

菜单已展开(溢出菜单视图显示在单独的窗口中):

android  – 从溢出菜单进入/退出动画中删除额外的背景颜色矩形?

当比较两个菜单(稳定)状态时,主应用程序视图层次结构(在原始窗口中显示)保持不变.因此我的猜测是,在菜单动画期间,额外的矩形会临时添加到主应用程序的窗口中,并在完成后立即删除.我不确定为什么会这样做 – 也许这是一个显示和隐藏溢出菜单的旧(现在未使用)方法的宿醉?如果我的推论是正确的,那么如果我们能够确定如何防止这种短暂的行为,那么这个问题就可以得到解决……

最佳答案
Chris Bane’s回答问题AppCompat style background propagated to the Image within the ToolBar的摘录

根据上面的帖子看来,你在Android:theme中设置的android:BACkground属性是动画期间额外背景颜色的原因.

我将背景直接设置到工具栏,并使用android:colorBackground属性设置弹出窗口的背景颜色.动画似乎工作正常.

码:

activity_main.xml中

styles.xml

大佬总结

以上是大佬教程为你收集整理的android – 从溢出菜单进入/退出动画中删除额外的背景颜色矩形?全部内容,希望文章能够帮你解决android – 从溢出菜单进入/退出动画中删除额外的背景颜色矩形?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。