我只想知道是否有可能为以下情况定制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
答案 0 :(得分:0)
还有其他一些方法,例如配置lint文件,使用Gradle配置lint选项以及更多check here。
希望这会对你有所帮助。
答案 1 :(得分:0)
在当前版本的Android Studio中,if (Build.VERSION.SDK_INT > Build.VERSION_CODE.N)
会围绕您的代码发出警告。似乎Android Studio团队已对其进行了修复。