自定义弃用/ newapi的lint警告

时间:2016-12-09 13:44:54

标签: android android-studio backwards-compatibility android-lint

我只想知道是否有可能为以下情况定制lint检查:

if (scrollView.getViewTreeObserver().isAlive())
        scrollView.getViewTreeObserver().addOnScrollChangedListener(
                new ViewTreeObserver.OnScrollChangedListener() {
                    @Override
                    public void onScrollChanged() {
                        final int scrollY = scrollView.getScrollY();
                        final float alpha = (1.0f / newsTitle.getY()) * scrollY;

                        newsLayout.setAlpha(alpha > 1 ? 1 : alpha);
                        arrow.setAlpha(1 - alpha);
                        Log.e(TAG, "scrollY: " + scrollY + " alpha: " + alpha);
                    }
                });
}

如果没有if,Spannable text; if(Build.VERSION.SDK_INT > Build.VERSION_CODE.N) { text = Html.fromHtml(htmlString, Html.FROM_HTML_MODE_LEGACY, null, null); } else { text = Html.fromHtml(htmlString, null, null); } 将被指示为错误,因为它在api 24下面不可用,但是由于if条件,错误指示会自动抑制。 关于Html.fromHtml(<4 params>)方法的弃用警告不会发生同样的事情。由于该方法(由于if)仅在不被弃用的情况下执行,因此该警告是错误的。我必须手动压制它。

在这种情况下,有可能 Lint自动抑制弃用警告???

第二个问题,但有关联: 如果我在以下模式中更改了以前的代码,则lint继续将“newApi方法”指示为错误。 有可能自动处理吗? 感谢:

Html.fromHtml(<3 params>)

的Gianni

2 个答案:

答案 0 :(得分:0)

  1. 从Android工作室中的设置禁用检查。 转到 文件&gt;&gt;设置&gt;&gt;编辑器&gt;&gt;检查并取消选中在旧版本上调用新方法,或者您可以将严重性更改为错误以外的其他内容。
  2. enter image description here

    还有其他一些方法,例如配置lint文件使用Gradle配置lint选项以及更多check here

    希望这会对你有所帮助。

答案 1 :(得分:0)

在当前版本的Android Studio中,if (Build.VERSION.SDK_INT > Build.VERSION_CODE.N)会围绕您的代码发出警告。似乎Android Studio团队已对其进行了修复。