How to change text size in places autocompletefragment in android?

12,799

Solution 1

Using fragment instance you can change the font size and whatever you want with the Search box EditText.. this is how you need to do

// placeAutocompleteFragment - is my PlaceAutocompleteFragment instance
((EditText)placeAutocompleteFragment.getView().findViewById(R.id.place_autocomplete_search_input)).setTextSize(10.0f);

UPDATED: 05/26/20

Looks like in latest SDK view id is changed to R.id.places_autocomplete_search_input

Solution 2

The autoCompleSupportFragment has an EditText Property. Which can be modified accordingly. The name of the editText is however not very clear. In my case, it was "a"

autoCompleteFragment.a.gravity = Gravity.START

so to modify the text size, i did:

autoCompleteFragment.a.textSize = 14.0f

Solution 3

View fView = autocompleteFragment.getView();

Set Text, Hint Color & Size:

EditText etTextInput = fView.findViewById(R.id.places_autocomplete_search_input);
etTextInput.setTextColor(Color.WHITE);
etTextInput.setHintTextColor(Color.WHITE);
etTextInput.setTextSize(12.5f);

Set Search Custom Image:

ImageView ivSearch = fView.findViewById(R.id.places_autocomplete_search_button);
ivSearch.setImageResource(R.drawable.ic_search_white);

Set Search Text Clear Image:

ImageView ivClear = fView.findViewById(R.id.places_autocomplete_clear_button);
ivClear.setImageResource(R.drawable.ic_close_white);

Output:

enter image description here

Solution 4

Simplest

 ((EditText)findViewById(R.id.place_autocomplete_search_input)).setTextSize(10.0f);

in case of skadosh answer you need to first get instance of fragment.

Solution 5

Assuming your fragment in the Javacode is autocompleteFragment, you can use

autocompleteFragment.a.setTextSize(12.0f);
Share:
12,799

Related videos on Youtube

Shafayat Mamun
Author by

Shafayat Mamun

Updated on June 04, 2022

Comments

  • Shafayat Mamun
    Shafayat Mamun almost 2 years

    I am using the PlaceAutocompleteFragment that is provided by google in a project that I am working on right now. But the problem is I need to display the place name that I've selected from the autocomplete widget but the whole text in not showing because the default textsize in the widget is too big. So, is there any way I can change the textsize in the PlaceAutocompleteFragment without creating my own custom search UI?

    My XML code:

    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:context="com.baldysns.capedbaldy.materialdesigntest.activity.DrawerMainActivity"
        tools:openDrawer="start">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
    
            <LinearLayout
                android:id="@+id/container_toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">
    
                <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
                    android:id="@+id/toolbar_drawer"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="?attr/colorPrimary"
                    android:minHeight="?attr/actionBarSize"
                    app:popupTheme="@style/AppTheme.PopupOverlay">
    
                    <LinearLayout
                        android:id="@+id/lnr_google_searchbar"
                        android:layout_width="match_parent"
                        android:layout_height="35dp"
                        android:layout_marginTop="10dp"
                        android:layout_marginBottom="10dp"
                        android:background="@drawable/btn_white_notboerder">
    
                        <fragment
                            android:id="@+id/place_autocompletehome_fragment"
                            android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content" />
                    </LinearLayout>
                </android.support.v7.widget.Toolbar>
            </LinearLayout>
    
            <FrameLayout
                android:id="@+id/container_body"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1" />
    
        </LinearLayout>
    
        <fragment
            android:id="@+id/fragment_navigation_drawer"
            android:name="com.ibaax.com.ibaax.FragmentDrawer"
            android:layout_width="300dp"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            app:layout="@layout/fragment_drawer"
            tools:layout="@layout/fragment_drawer" /></android.support.v4.widget.DrawerLayout>
    

    And a screenshot of the problem:

    enter image description here

  • Snake
    Snake almost 4 years
    It sets the text on the intent screen, not the current screen where the widget is on. Any idea why?
  • Abdullah Javed
    Abdullah Javed almost 3 years
    autocompleteFragment.view is returning null instead of view. Do you have any solution?