Android 的 View#setFlags 方法设置 flags 时, 为啥要同时指定一个 mask?

2020-12-19 11:34:55 +08:00
 narutow
我的理解这么做是有两方面原因
1. 保证设置的安全性, 起到防呆的作用.
具体来说是让调用方知道自己在设置什么东西, 如果 flag 不在 mask 的范围之内, 就不能生效. 但 mask 会清空 ViewFlags 指定的位, 调用错了其实更加危险才对.
2. 一个 mask 可能指定多个同一类别的属性, 这些属性是互斥的, 需要 mask 先抹平它们再设置.

所以求问大佬们这么理解是否正确
987 次点击
所在节点    问与答
1 条回复
ysc3839
2020-12-19 13:32:40 +08:00
是为了一次调用就 set flag 吧?不然的话,得先 get 了再 set 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/737000

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX