現在取り組んでいるプロジェクトで、Googleから提供されているPlaceAutocompleteFragmentを使用しています。しかし、問題は、オートコンプリートウィジェットから選択した場所の名前を表示する必要があるのに、ウィジェットのデフォルトのテキストサイズが大きすぎるため、テキスト全体が表示されないことです。では、独自のカスタム検索UIを作成せずに、PlaceAutocompleteFragmentのテキストサイズを変更できる方法はありますか?
私の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>
そして問題のスクリーンショット:
フラグメントインスタンスを使用すると、フォントサイズを変更したり、検索ボックスEditText
。で必要なものを変更したりすることができます。
// placeAutocompleteFragment - is my PlaceAutocompleteFragment instance
((EditText)placeAutocompleteFragment.getView().findViewById(R.id.place_autocomplete_search_input)).setTextSize(10.0f);
AutoCompleSupportFragmentにはEditTextプロパティがあります。それに応じて変更できます。ただし、editTextの名前はあまり明確ではありません。私の場合、それは「a」でした
autoCompleteFragment.a.gravity = Gravity.START
テキストサイズを変更するために、次のようにしました。
autoCompleteFragment.a.textSize = 14.0f
最も単純な
((EditText)findViewById(R.id.place_autocomplete_search_input)).setTextSize(10.0f);
skadoshの場合、最初にフラグメントのインスタンスを取得する必要があります。
JavacodeのフラグメントがautocompleteFragmentであるとすると、次のように使用できます
autocompleteFragment.a.setTextSize(12.0f);
スクリーンショットは、検索アイコンとキャンセルアイコンにマージンまたはパディングを設定したことを示しています。それを削除して、テキストビュー用のスペースを増やします。
autofittextviewlibrary( https://github.com/grantland/Android-autofittextview も使用できます=)これは、テキストビューのサイズに応じてテキストサイズを作成します。