返回可见性的函数



我正在编写一个返回可见性的函数 - 但我正确地得到:

必须是以下之一:View.VISIBLE,View.INVISIBLE,View.GONE less...

对于此代码:

private int getVisibilityForGlobalAndLocal(final boolean global, final boolean local) {
   if (global) {
       return View.GONE;
   }                
   return local ? View.VISIBLE : View.INVISIBLE;
}

像这样使用时:

 view.setVisibility(getVisibilityForGlobalAndLocal(true,false));

不幸的是@Visibility注释隐藏在视图中:

/** @hide */
@IntDef({VISIBLE, INVISIBLE, GONE})
@Retention(RetentionPolicy.SOURCE)
public @interface Visibility {}

现在我可以复制这部分(作品),但感觉很糟糕。我在这里缺少更优雅的解决方案吗?我应该将其作为错误归档吗?

能够使用 @Visibility 注释肯定会很好,但看起来我们目前不能。

同时,您可以在调用 setVisibility 的方法上方添加 @SuppressWarnings("ResourceType") 注释以抑制 lint 错误

@SuppressWarnings("ResourceType")
public void myMethod()
{
    view.setVisibility(getVisibilityForGlobalAndLocal(true,false));
}

最新更新