如何隐藏在搜索查看后退按钮 [英] How can I hide the back button in Searchview
问题描述
有谁知道如何隐藏应用程序兼容性V21搜索查看后退按钮? (绿色线轮廓)
Does anyone know how to hide the back button in AppCompat v21 searchview? (outlined by green line)
我已经搜查了很多,但找不到任何有用。
I've searched a lot but couldn't find anything useful.
menu_main.xml:
menu_main.xml:
<item android:id="@+id/search"
android:title="@string/search_title"
app:showAsAction="always|collapseActionView"
android:icon="@drawable/abc_ic_search_api_mtrl_alpha"
android:orderInCategory="300"
app:actionViewClass="android.support.v7.widget.SearchView" />
<item android:id="@+id/action_home"
android:title="Home"
android:icon="@drawable/v_home"
app:showAsAction="always"
android:orderInCategory="180"/>
<item android:id="@+id/action_favorites"
android:title="Favorites"
android:icon="@drawable/v_favorites"
app:showAsAction="always" />
MainActivity:
MainActivity:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
firstMenu = menu;
searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
MenuItem searchItem = menu.findItem(R.id.search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setSubmitButtonEnabled(true);
searchView.setActivated(true);
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
menuItemsVisibility(false);
}
});
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
menuItemsVisibility(true);
return false;
}
});
return true;
}
@Override
public void onBackPressed() {
menuItemsVisibility(true);
super.onBackPressed();
}
// setting visibility of menu items on search
private void menuItemsVisibility(boolean visibility) {
MenuItem homeItem = firstMenu.findItem(R.id.action_home);
MenuItem favoriteItem = firstMenu.findItem(R.id.action_favorites);
MenuItem otItem = firstMenu.findItem(R.id.action_ot);
MenuItem ntItem = firstMenu.findItem(R.id.action_nt);
homeItem.setVisible(visibility);
favoriteItem.setVisible(visibility);
otItem.setVisible(visibility);
ntItem.setVisible(visibility);
}
请注意:行为showAsAction:始终使用方法menuItemsVisibility()来调节的工具栏项目的知名度是故意的。
Note: the behavior showAsAction:Always and using methods menuItemsVisibility() to adjust the visibility of toolbar items is intentional.
另注:MainActivity扩展ActionBarActivity,它也从ObservableScrollView库实现工具ObservableScrollViewCallbacks
Another Note: MainActivity extends ActionBarActivity and it also implements implements ObservableScrollViewCallbacks from ObservableScrollView Library.
推荐答案
使用方法:
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
为了从动作栏中删除主页按钮。
in order to remove the home button from the action bar.
这篇关于如何隐藏在搜索查看后退按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!