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 に答える