Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to remove white underline in a SearchView widget in Toolbar Android

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

enter image description here

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

like image 736
Chandru Avatar asked Jun 15 '15 10:06

Chandru


People also ask

How to remove bottom line of SearchView in android?

Try to set background="@null" in xml in search view. Save this answer.

What is SearchView in android studio?

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.


2 Answers

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" 
like image 160
Kshitij Jain Avatar answered Sep 18 '22 16:09

Kshitij Jain


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.

like image 22
Nagaraju V Avatar answered Sep 20 '22 16:09

Nagaraju V