为什么 soundEffectsEnabled=false 在 recylerview 中不起作用?

som*_*one 5 android android-recyclerview

我正在尝试禁用所有声音效果,尤其是当一个项目被聚焦但没有任何成功时。

我试过设置

<item name="android:soundEffectsEnabled">false</item>
Run Code Online (Sandbox Code Playgroud)

在主应用程序主题中, RecyclerView 和 RecyclerView 项目但声音效果仍然有效。我以前使用过 ListView 并且使用此选项正确禁用了声音效果(可能是因为它使用了一个selected属性而不是依赖于焦点)。

我也可以通过调用完全禁用系统声音,mAudioManager.adjustStreamVolume(AudioManager.STREAM_SYSTEM, AudioManager.ADJUST_MUTE, 0)但这不适用于实现固定音量策略的设备。

重现步骤:

  1. 使用带有基本适配器的 RecyclerView
  2. 使项目可聚焦
  3. 在模拟器中使用键盘键向上/向下或向左/向右导航

即使设置soundEffectsEnabled为false,您也会听到声音效果

更新: 一个带有基本 RecyclerView 的示例应用程序来重现问题

https://github.com/gloriousmce/recycler-view-issue