Ye Lin Aung
Ye Lin Aung

Reputation: 11459

Setting Background for Actionbar SearchItem

I would like to set the background (something like EditText Background) to my ActionBar SearchItem. That's the current action bar.

enter image description here

I would like to set this background drawable to that.

enter image description here

Here's how I create the searchItem

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.guest_list, menu);

    MenuItem searchItem = menu.findItem(R.id.search);
    SearchManager searchManager = (SearchManager) getActivity()
            .getSystemService(Context.SEARCH_SERVICE);

    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
        SearchView searchView = (SearchView) searchItem.getActionView();
        searchView.setSearchableInfo(searchManager
                .getSearchableInfo(getActivity().getComponentName()));
        searchView.setIconified(true);
        searchView.setSubmitButtonEnabled(true);
        searchView.setOnQueryTextListener(new OnQueryTextListener() {

            @Override
            public boolean onQueryTextSubmit(String query) {
                setFilter(query);
                return false;
            }

            @Override
            public boolean onQueryTextChange(String query) {
                setFilter(query);
                return false;
            }
        });
    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        SearchView searchView = (SearchView) searchItem.getActionView();

        searchView.setSearchableInfo(searchManager
                .getSearchableInfo(getActivity().getComponentName()));
        searchView.setIconified(true);
        searchView.setSubmitButtonEnabled(true);
        searchView.setOnQueryTextListener(new OnQueryTextListener() {

            @Override
            public boolean onQueryTextSubmit(String query) {
                setFilter(query);
                return false;
            }

            @Override
            public boolean onQueryTextChange(String query) {
                setFilter(query);
                return false;
            }
        });
    }
}

I've tried setting background by searchView.setBackgroundDrawable but I am not getting what I like to implement.

Upvotes: 0

Views: 170

Answers (1)

Sanket
Sanket

Reputation: 3134

Please check below link because it explains everything about searchbar in actionbar:

Changing the background drawable of the searchview widget

Upvotes: 1

Related Questions