在Android中,可以通过自定义SearchView的布局来实现在右侧添加可点击的图标。以下是一个示例代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.search_menu, menu);
MenuItem searchItem = menu.findItem(R.id.menu_search);
SearchView searchView = (SearchView) searchItem.getActionView();
// 设置SearchView的监听器
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
// 在此处处理搜索提交事件
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
// 在此处处理搜索文本变化事件
return true;
}
});
// 设置图标点击事件
ImageView searchIcon = searchView.findViewById(androidx.appcompat.R.id.search_mag_icon);
searchIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 在此处处理图标点击事件
}
});
return true;
}
注意,上述代码中的androidx.appcompat.widget.SearchView
是AndroidX库中的SearchView组件,如果你的项目未迁移到AndroidX,可以使用android.widget.SearchView
。
通过上述代码,在SearchView的右侧添加了一个可点击的图标,并为其设置了点击事件。你可以在图标的点击事件中执行自定义的逻辑。