Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to align items in action bar to the left?

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?

like image 764
Tarang Avatar asked Sep 17 '11 10:09

Tarang


2 Answers

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

like image 65
rashid Avatar answered Sep 21 '22 01:09

rashid


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);
like image 45
alvinmeimoun Avatar answered Sep 21 '22 01:09

alvinmeimoun