J'utilise le PlaceAutocompleteFragment fourni par Google dans un projet sur lequel je travaille actuellement. Mais le problème est que je dois afficher le nom de lieu que j'ai sélectionné dans le widget de saisie semi-automatique, mais le texte entier ne s'affiche pas car la taille de texte par défaut dans le widget est trop grande. Alors, est-il possible de modifier la taille du texte dans PlaceAutocompleteFragment sans créer ma propre interface de recherche personnalisée?
Mon code XML:
<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>
Et une capture d'écran du problème:
En utilisant une instance de fragment, vous pouvez changer la taille de la police et tout ce que vous voulez avec la boîte de recherche EditText
.. voici comment procéder.
// placeAutocompleteFragment - is my PlaceAutocompleteFragment instance
((EditText)placeAutocompleteFragment.getView().findViewById(R.id.place_autocomplete_search_input)).setTextSize(10.0f);
Le plus simple
((EditText)findViewById(R.id.place_autocomplete_search_input)).setTextSize(10.0f);
dans le cas de skadosh answer, vous devez d'abord obtenir une instance de fragment.
Votre capture d’écran montre que vous définissez les marges ou les marges à l’icône de recherche et à l’icône d’annulation. supprimez-le afin qu'il laisse plus d'espace pour l'affichage du texte.
Vous pouvez également utiliser autofittextview bibliothèque ( https://github.com/grantland/Android-autofittextview ) pour modifier la taille du texte en fonction de la taille d'affichage du texte.