浮云间
我找到了另一种更改搜索图标的方法,该图标与Diego Pino的答案相同,但直接输入onPrepareOptionsMenu。在您的menu.xml中(与以前相同)
在您的活动中:@Overridepublic boolean onPrepareOptionsMenu(Menu menu) { MenuItem searchViewMenuItem = menu.findItem(R.id.action_search); mSearchView = (SearchView) searchViewMenuItem.getActionView(); int searchImgId = getResources().getIdentifier("android:id/search_button", null, null); ImageView v = (ImageView) mSearchView.findViewById(searchImgId); v.setImageResource(R.drawable.your_new_icon); mSearchView.setOnQueryTextListener(this); return super.onPrepareOptionsMenu(menu);}在此示例中,我遵循了用于更改edittext的示例。您应该能够对自己的所有图标/背景执行此操作SearchView,以找到正确的ID(可以在此处检查)。希望这对其他人也有帮助!2017年11月更新:由于此答案,android已更新,可以通过XML更改搜索图标。如果您将目标定位在android v21以下,则可以使用:或v21及更高版本:还有更多选择:closeIconcommitIcongoIconsearchHintIconsearchIconvoiceIcon