我正在编写一个返回可见性的函数 - 但我正确地得到:
必须是以下之一: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));
}