返回可见性的函数

时间:2015-06-17 21:07:24

标签: android

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

  

必须是以下之一: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注释隐藏在View:

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

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

1 个答案:

答案 0 :(得分:5)

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

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

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