KeyEventCompat 找不到

  • KeyEventCompat,Android,support
  • 2020.10.22

最近对一个项目的 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