narutow
V2EX  ›  问与答

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

  •  
  •   narutow · Dec 19, 2020 · 1742 views
    This topic created in 1999 days ago, the information mentioned may be changed or developed.
    我的理解这么做是有两方面原因
    1. 保证设置的安全性, 起到防呆的作用.
    具体来说是让调用方知道自己在设置什么东西, 如果 flag 不在 mask 的范围之内, 就不能生效. 但 mask 会清空 ViewFlags 指定的位, 调用错了其实更加危险才对.
    2. 一个 mask 可能指定多个同一类别的属性, 这些属性是互斥的, 需要 mask 先抹平它们再设置.

    所以求问大佬们这么理解是否正确
    1 replies    2020-12-19 13:32:40 +08:00
    ysc3839
        1
    ysc3839  
       Dec 19, 2020 via Android
    是为了一次调用就 set flag 吧?不然的话,得先 get 了再 set 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5951 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 02:33 · PVG 10:33 · LAX 19:33 · JFK 22:33
    ♥ Do have faith in what you're doing.