I have an actionbar with a searchview but I'd like to align it to the left such as in the maps app as opposed to the right. How would I do this?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can do this Try this it would definetly help:
ActionBar action=getActionBar();
action.setDisplayShowCustomEnabled(true);
action.setDisplayShowHomeEnabled(false);
action.setDisplayShowTitleEnabled(false);
RelativeLayout relative=new RelativeLayout(getApplicationContext());
relative.addView(new SearchView(getApplicationContext()));
action.setCustomView(relative);
Do not forget to add layout params to your searchview so that it may align on right to relative. Do let me know if any issue got. Thank You
it would be then shown on right of action bar. Also
回答2:
Don't work with getApplicationContext() , i found an issue
RelativeLayout relative = new RelativeLayout(mActionBar.getThemedContext());
mSearchView = new SearchView(mActionBar.getThemedContext());
mSearchView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));
mSearchView.setIconifiedByDefault(false);
mSearchView.setGravity(Gravity.LEFT);
relative.addView(mSearchView);
mActionBar.setDisplayShowCustomEnabled(true);
mActionBar.setCustomView(relative);