最近对一个项目的 android support 版本进行升级,从 25.1.0 升级到 27.1.1 ,在升级的过程中碰见了 android.support.v4.view.KeyEventCompat 找不到的问题,以下代码会报红。
if (KeyEventCompat.hasNoModifiers(event)) {
handled = arrowScroll(FOCUS_FORWARD);
} else if (KeyEventCompat.hasModifiers(event, KeyEvent.META_SHIFT_ON)) {
handled = arrowScroll(FOCUS_BACKWARD);
}
原因是 26.0.0 之后,KeyEventCompat 这个类被移除了,替代方案是直接调用 KeyEvent 的 api 。
if (event.hasNoModifiers()) {
handled = arrowScroll(FOCUS_FORWARD);
} else if (event.hasModifiers(KeyEvent.META_SHIFT_ON)) {
handled = arrowScroll(FOCUS_BACKWARD);
}
在 26.0.0 一同被移除的,还有 ActionBarActivity ,替换方案为 AppCompatActivity 。ActionBarActivity 在 22.1.0 被置为过期,在 26.0.0 被移除了。ActionBarActivity 是封装了一个带 ActionBar
的 Activity,而 Toolbar
是 ActionBar 的增强版,提供更丰富的功能。 AppCompatActivity 封装了 Toolbar 。
- EOF -
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自 Binkery 技术博客 [https://binkery.com]
本文标题: KeyEventCompat 找不到
本文地址: https://binkery.com/archives/2020.10.22-AppCompatActivity-KeyEventCompat-remove.html