I am doing an application where for example when i click on the image(it is a searchView)

the search pad opens !
and it looks like 
but here the default search icon (magnifier) gets displayed but this dissappears as soon as some text is entered

but i dont want that magnifier to be displayed even the image is clicked for the first time
and here i am not using any xml file
my code is
public class MainActivity extends Activity {      @SuppressLint("NewApi")     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);          RelativeLayout relative = new RelativeLayout(this);         LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);         relative.setLayoutParams(params);         setContentView(relative);          SearchView searchView = new SearchView(this);         traverseView(searchView, 0); //      searchView.setIconifiedByDefault(false);         LayoutParams searchViewparams = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); //      searchViewparams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);         searchView.setLayoutParams(searchViewparams);         relative.addView(searchView);     }     @TargetApi(Build.VERSION_CODES.HONEYCOMB)     @SuppressLint("NewApi")     private void traverseView(View view, int index) {         if (view instanceof SearchView) {             SearchView v = (SearchView) view;             for(int i = 0; i < v.getChildCount(); i++) {                 traverseView(v.getChildAt(i), i);             }         } else if (view instanceof LinearLayout) {             LinearLayout ll = (LinearLayout) view;             for(int i = 0; i < ll.getChildCount(); i++) {                 traverseView(ll.getChildAt(i), i);             }         } else if (view instanceof EditText) {             ((EditText) view).setTextColor(Color.GREEN);             ((EditText) view).setHintTextColor(Color.BLACK);         } else if (view instanceof TextView) {             ((TextView) view).setTextColor(Color.BLUE);         } else if (view instanceof ImageView) {             ((ImageView) view).setImageResource(R.drawable.ic_launcher);         } else {             Log.v("View Scout", "Undefined view type here...");         }     } } In my app i've used android.support.v7.widget.SearchView and to hide search icon this worked for me :
<android.support.v7.widget.SearchView     ...     app:iconifiedByDefault="false"     app:searchIcon="@null" /> I've had trouble with this too. I combined the tutorial I found and an existing answer found here in stackoverflow.
int magId = getResources().getIdentifier("android:id/search_mag_icon", null, null); ImageView magImage = (ImageView) searchView.findViewById(magId); magImage.setLayoutParams(new LinearLayout.LayoutParams(0, 0)); Take note that searchView is a LinearLayout, so use LinearLayout.LayoutParams to avoid an exception.
I also tried this but it doesn't remove the view. I can't seem to figure why.:
magImage.setVisibility(View.GONE); For the other views that you need to change, refer to this tutorial.
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