如何改变解雇(家)夏洛克操作栏搜索查看按钮? [英] How to change dismiss (home) button of searchview in Sherlock action bar?
本文介绍了如何改变解雇(家)夏洛克操作栏搜索查看按钮?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当您在搜索查看模式下的操作栏进入,home键更改为清单安卓图标绘制的某些原因。有没有一种方法,以保持其维持不变或改回了android:标志绘制
下面是我在做什么:
@覆盖
公共无效onCreateOptionsMenu(最后菜单菜单,MenuInflater充气)
{
。getSherlockActivity()getSupportMenuInflater()膨胀(R.menu.places_menu,菜单);
SearchManager searchManager =(SearchManager)getSherlockActivity()getSystemService(Context.SEARCH_SERVICE)。
最后搜索查看搜索查看=(搜索查看)menu.findItem(R.id.item_menu_search).getActionView();
SearchView.OnQueryTextListener queryTextListener =新SearchView.OnQueryTextListener()
{
公共布尔onQueryTextChange(字符串newText)
{
//这是你的适配器将被过滤掉
。mAdapter.getFilter()过滤器(newText);
返回true;
}
公共布尔onQueryTextSubmit(查询字符串)
{
//这是你的适配器将被过滤掉
。mAdapter.getFilter()过滤器(查询);
返回true;
}
};
如果(NULL!=搜索查看)
{
searchView.setSearchableInfo(searchManager.getSearchableInfo(getSherlockActivity().getComponentName()));
searchView.setIconifiedByDefault(假);
searchView.setOnQueryTextListener(queryTextListener);
//关闭搜索时,软键盘DISSMISSES
searchView.setOnQueryTextFocusChangeListener(新View.OnFocusChangeListener(){
@覆盖
公共无效onFocusChange(查看视图,布尔queryTextFocused){
如果(!queryTextFocused){
menu.findItem(R.id.item_menu_search).collapseActionView();
searchView.setQuery(,假);
}
}
});
}
super.onCreateOptionsMenu(菜单,充气);
}
解决方案
这似乎通过调用的setIcon()
的标志就可以了。
动作条动作条= getActionBar();
actionBar.setLogo(R.drawable.ab_logo);
actionBar.setIcon(R.drawable.ab_logo);
When you enter in searchview mode with the action bar, the home button is changed to the manifest android:icon drawable for some reason. Is there a way to keep it unchanged or to change it back to the android:logo drawable?
Here's what I'm doing:
@Override
public void onCreateOptionsMenu(final Menu menu, MenuInflater inflater)
{
getSherlockActivity().getSupportMenuInflater().inflate(R.menu.places_menu, menu);
SearchManager searchManager = (SearchManager) getSherlockActivity().getSystemService(Context.SEARCH_SERVICE);
final SearchView searchView = (SearchView) menu.findItem(R.id.item_menu_search).getActionView();
SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener()
{
public boolean onQueryTextChange(String newText)
{
// this is your adapter that will be filtered
mAdapter.getFilter().filter(newText);
return true;
}
public boolean onQueryTextSubmit(String query)
{
// this is your adapter that will be filtered
mAdapter.getFilter().filter(query);
return true;
}
};
if (null != searchView )
{
searchView.setSearchableInfo(searchManager.getSearchableInfo(getSherlockActivity().getComponentName()));
searchView.setIconifiedByDefault(false);
searchView.setOnQueryTextListener(queryTextListener);
// CLOSE SEARCH WHEN SOFT KEYBOARD DISSMISSES
searchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean queryTextFocused) {
if(!queryTextFocused) {
menu.findItem(R.id.item_menu_search).collapseActionView();
searchView.setQuery("", false);
}
}
});
}
super.onCreateOptionsMenu(menu, inflater);
}
解决方案
It seems to be possible by calling setIcon()
with the logo.
ActionBar actionBar = getActionBar();
actionBar.setLogo(R.drawable.ab_logo);
actionBar.setIcon(R.drawable.ab_logo);
这篇关于如何改变解雇(家)夏洛克操作栏搜索查看按钮?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文