wake-up-neo.com

Wie ändert man die Textgröße in Orten Autovervollständigung in Android?

Ich verwende das von Google bereitgestellte PlaceAutocompleteFragment in einem Projekt, an dem ich gerade arbeite. Das Problem ist jedoch, dass ich den Ortsnamen anzeigen muss, den ich im Widget für die automatische Vervollständigung ausgewählt habe, der gesamte Text jedoch nicht angezeigt wird, da die Standardtextgröße im Widget zu groß ist. Gibt es eine Möglichkeit, die Textgröße in der PlaceAutocompleteFragment zu ändern, ohne eine eigene benutzerdefinierte Suchoberfläche zu erstellen?

Mein 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>

Und ein Screenshot des Problems:

 enter image description here

11
Shafayat Mamun

Mit der Fragment-Instanz können Sie die Schriftgröße und das, was Sie möchten, mit dem Suchfeld EditText ändern. So müssen Sie das tun 

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

Das autoCompleSupportFragment verfügt über eine EditText-Eigenschaft. Welches kann entsprechend geändert werden. Der Name des editText ist jedoch nicht sehr eindeutig. In meinem Fall war es "ein"

autoCompleteFragment.a.gravity = Gravity.START

um die Textgröße zu ändern, habe ich Folgendes getan:

autoCompleteFragment.a.textSize = 14.0f
4

Am einfachsten

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

im Fall von skadosh answer müssen Sie zunächst eine Instanz des Fragments erhalten. 

2
Muhammad Adil

Ihr Screenshot zeigt, dass Sie am Suchsymbol einen Rand oder einen Abstand definieren und das Symbol "Abbrechen" wählen. Entfernen Sie es, um mehr Platz für die Textansicht zu schaffen.

Sie können auch autofittextview library ( https://github.com/grantland/Android-autofittextview ) verwenden, um die Textgröße an die Größe Ihrer Textansicht anzupassen.

0
iTag