You need to change the look of the search, as the default icons of a magnifying glass and a cross are gray and barely visible. The device Lenovo S650 Android 4.4.2 Api 19.
Cross it turned out to change so
int searchCloseId = searchView.getContext().getResources().getIdentifier("android:id/search_close_btn", null, null); ImageView searchClose = (ImageView) searchView.findViewById(searchCloseId); searchClose.setImageResource(R.drawable.ic_clear_white_36dp); The main magnifying glass icon was changed to
int searchIconId = searchView.getContext().getResources().getIdentifier("android:id/search_button", null, null); ImageView searchIcon = (ImageView) searchView.findViewById(searchIconId); searchIcon.setImageResource(R.drawable.ic_search_white_36dp); But this does not change the magnifying glass that appears on the left in hint mode. This code does not help
int searchIconMagId = searchView.getContext().getResources().getIdentifier("android:id/search_mag_icon", null, null); ImageView searchIconMag = (ImageView) searchView.findViewById(searchIconMagId); searchIconMag.setImageResource(R.drawable.ic_search_white_36dp); So advised user metalurgus
ImageView searchIcon = (ImageView)searchView.findViewById(android.support.v7.appcompat.R.id.search_mag_icon); searchIcon.setImageResource(R.drawable.ic_search_white_36dp); //ΠΈΠΊΠΎΠ½ΠΊΠ° ΠΏΠΎΠΈΡΠΊΠ° But says empty searchIcon . Here is the log
.: FATAL EXCEPTION: main Process: com.example.user.h18_2, PID: 8918 java.lang.NullPointerException at com.example.user.h18_2.MainActivity.onCreateOptionsMenu(MainActivity.java:75) at android.app.Activity.onCreatePanelMenu(Activity.java:2582) at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:341) at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:85) at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onCreatePanelMenu(AppCompatDelegateImplBase.java:258) at android.support.v7.app.AppCompatDelegateImplV7.preparePanel(AppCompatDelegateImplV7.java:1311) at android.support.v7.app.AppCompatDelegateImplV7.doInvalidatePanelMenu(AppCompatDelegateImplV7.java:1591) at android.support.v7.app.AppCompatDelegateImplV7.access$100(AppCompatDelegateImplV7.java:91) at android.support.v7.app.AppCompatDelegateImplV7$1.run(AppCompatDelegateImplV7.java:130) at android.os.Handler.handleCallback(Handler.java:808) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5388) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:655) at dalvik.system.NativeStart.main(Native Method) xml menu
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/menu_search" android:title="Search" app:showAsAction="always" android:icon="@android:drawable/ic_menu_search" app:actionViewClass="android.widget.SearchView" /> </menu>