6

我有一个带有搜索视图的操作栏,但我想将其对齐到左侧,例如在地图应用程序中而不是右侧。我该怎么做?

4

2 回答 2

9

你可以这样做 试试这个它肯定会有所帮助:

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);

不要忘记将布局参数添加到您的搜索视图,以便它可以与相对对齐。如果有任何问题,请告诉我。谢谢你

然后它将显示在操作栏的右侧。还

于 2011-09-19T17:57:33.970 回答
2

不要使用 getApplicationContext() ,我发现了一个问题

    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);
于 2012-10-18T11:03:22.797 回答