web-dev-qa-db-ja.com

Androidでオートコンプリートフラグメントの場所でテキストサイズを変更するにはどうすればよいですか?

現在取り組んでいるプロジェクトで、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>

そして問題のスクリーンショット:

enter image description here

14
Shafayat Mamun

フラグメントインスタンスを使用すると、フォントサイズを変更したり、検索ボックスEditText。で必要なものを変更したりすることができます。

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

AutoCompleSupportFragmentにはEditTextプロパティがあります。それに応じて変更できます。ただし、editTextの名前はあまり明確ではありません。私の場合、それは「a」でした

autoCompleteFragment.a.gravity = Gravity.START

テキストサイズを変更するために、次のようにしました。

autoCompleteFragment.a.textSize = 14.0f
4

最も単純な

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

skadoshの場合、最初にフラグメントのインスタンスを取得する必要があります。

2
Muhammad Adil

JavacodeのフラグメントがautocompleteFragmentであるとすると、次のように使用できます

autocompleteFragment.a.setTextSize(12.0f);
1
kimoduor

スクリーンショットは、検索アイコンとキャンセルアイコンにマージンまたはパディングを設定したことを示しています。それを削除して、テキストビュー用のスペースを増やします。

autofittextviewlibraryhttps://github.com/grantland/Android-autofittextview も使用できます=)これは、テキストビューのサイズに応じてテキストサイズを作成します。

0
iTag