I am using PlaceAutocompleteFragment to search places. Below is my xml code
<fragment
android:id="@+id/place_source"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/colorPrimary"
android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment" />
I want to remove search icon which by default comes with fragment.
You can use this single line to get the reference of search icon :((View)findViewById(R.id.place_autocomplete_search_button)).setVisibility(View.GONE);
and this line to get the reference of EditText: ((EditText)findViewById(R.id.place_autocomplete_search_input))
If we have 2 autocompleteFragments, we can hide the icons like this :
autocompleteFragment_from.getView().findViewById(R.id.place_autocomplete_search_button).setVisibility(View.GONE);
autocompleteFragment_to.getView().findViewById(R.id.place_autocomplete_search_button).setVisibility(View.GONE);
It's not possible to customize the look of the PlaceAutocompleteFragment unfortunately but, since all it does is launch the PlaceAutocomplete activity in response to taps it's pretty easy to replicate its functionality with a UI that works for your app.
- Create a custom fragment (instructions).
- Add the UI elements you want to the fragment.
- Add an OnClickListener to the UI elements that starts an autocomplete Activity (as described in the API docs).
This question is a bit old, but I'll leave this here for future viewers.
While @rajat44's answer solves it when you have one PlaceAutocompleteFragment, if you have multiple you can do this:
pacf.getView().findViewById(R.id.place_autocomplete_search_button).setVisibility(View.GONE);
pacf2.getView().findViewById(R.id.place_autocomplete_search_button).setVisibility(View.GONE);
来源:https://stackoverflow.com/questions/42211272/how-to-remove-search-icon-from-placeautocompletefragment-in-android
