SearchView remove blue focus line and show cursor at certain position SearchView remove blue focus line and show cursor at certain position android android

SearchView remove blue focus line and show cursor at certain position


I was able to solve it by setting the background of the default searchview plate as follows

int searchPlateId = searchView.getContext().getResources()            .getIdentifier("android:id/search_plate", null, null);    View searchPlateView = searchView.findViewById(searchPlateId);    if (searchPlateView != null) {        searchPlateView.setBackgroundColor(Color.BLACK);    }

This article helped.article link


You can use

android:queryBackground="@android:color/transparent"


I was able to make it work by clearingfocus on the search edit text during the menu creation function. Code below:

@Override    public boolean onCreateOptionsMenu(Menu menu) {        super.onCreateOptionsMenu(menu);        ...        final MenuItem searchItem = menu.findItem(R.id.action_search);        if (searchItem != null) {            // Associate searchable configuration with the SearchView            SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);            final SearchView view = (SearchView) searchItem.getActionView();            if(view !=null){                LinearLayout searchPlate = (LinearLayout)mSearchView.findViewById(R.id.search_plate);                if(searchPlate != null){                    mSearchEditText = (EditText)searchPlate.findViewById(R.id.search_src_text);                    if(mSearchEditText != null){                        mSearchEditText.clearFocus();     // This fixes the keyboard from popping up each time                    }                }            }        }}