I am using the Toolbar search widget in my project. Everything works fine but expect the thing which I am completely stuck up with removing the underline below the search field in my toolbar. I have tried many solutions and nothing works out. Below are some of the solutions that I tried.
Requirement is to remove white underline in the image
Ist Solution:
//Removing underline int searchPlateId = searchView.getContext().getResources().getIdentifier("android:id/search_plate", null, null); View searchPlate = searchView.findViewById(searchPlateId); if (searchPlate!=null) { searchPlate.setBackgroundColor (Color.TRANSPARENT); int searchTextId = searchPlate.getContext ().getResources ().getIdentifier ("android:id/search_src_text", null, null); }
IInd Solution:
EditText searchEdit = ((EditText)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text)); searchEdit.setBackgroundColor(Color.TRANSPARENT);
The above code works to change the background of EditText but still underline is displaying below the close icon in SearchBar.
Complete code that I am using for SearchBar widget as follows:
@Override public void onCreateOptionsMenu(Menu menu, MenuInflater infl) { super.onCreateOptionsMenu(menu, infl); MenuInflater inflater = getActivity().getMenuInflater(); inflater.inflate(R.menu.action_search, menu); final SearchView searchView = (SearchView) MenuItemCompat .getActionView(menu.findItem(R.id.search)); SearchManager searchManager = (SearchManager) getActivity ().getSystemService (getActivity ().SEARCH_SERVICE); searchView.setSearchableInfo (searchManager.getSearchableInfo (getActivity ().getComponentName ())); //changing edittext color EditText searchEdit = ((EditText)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text)); searchEdit.setTextColor(Color.WHITE); }
action_search.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:compat="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/search" android:title="Search" android:icon="@drawable/abc_ic_search_api_mtrl_alpha" compat:showAsAction="ifRoom|collapseActionView" compat:actionViewClass="android.support.v7.widget.SearchView" /> </menu>
possible duplicate of this
Try to set background="@null" in xml in search view. Save this answer.
A widget that provides a user interface for the user to enter a search query and submit a request to a search provider. Shows a list of query suggestions or results, if available, and allows the user to pick a suggestion or result to launch into.
If you are using SearchView then use for API below 21
android:queryBackground="@android:color/transparent"
you can use below code if you are using API 21 or more
app:queryBackground="@android:color/transparent"
Once try as follows
View v = searchView.findViewById(android.support.v7.appcompat.R.id.search_plate); v.setBackgroundColor(Color.parseColor("here give actionbar color code"));
Hope this will helps you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With