我的应用程序中有一个搜索功能,我可以在菜单中上下移动图标。如果我点击向上和向下图标,我可以看到图标上的涟漪效果。现在,当我从键盘上点击搜索按钮时,我想执行向上的图标功能。为了以编程方式实现这一点,我制作了图标点击动作。我可以启动图标功能,但无法对图标产生连锁反应。任何解决方法可以在图标上产生连锁反应?
在下面的代码中,我习惯于以编程方式单击菜单。
searchEdit.setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
actionUpMenuItem?.let {
onOptionsItemSelected(it)
}
true
} else {
false
}
}
我也试过这个,我看不到这两个函数的涟漪效应
searchEdit.setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
optionMenu?.performIdentifierAction(R.id.action_up, 0)
true
} else {
false
}
}
这是菜单项代码
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_up"
android:foreground="?attr/selectableItemBackground"
android:icon="@drawable/ic_search_up_arrow"
android:orderInCategory="94"
android:title="@string/description_item_up"
app:showAsAction="always" />
<item
android:id="@+id/action_down"
android:foreground="?attr/selectableItemBackground"
android:icon="@drawable/ic_search_down_arrow"
android:orderInCategory="95"
android:title="@string/description_item_down"
app:showAsAction="always" />
</menu>