地方资讯自动完成功能会开启新的Google搜寻重叠式广告

时间:2019-01-27 17:05:12

标签: android google-places googleplacesautocomplete

我正在使用Google的自动完成地点小部件。我注意到,当我将其放入活动中并单击时,它会在活动顶部打开一个片段(带有一个状态栏,尽管我的活动是全屏的)

如何将整个行为嵌入我的活动中,以便被单击以启动搜索的小部件实际上是填充有建议的同一小部件​​

 <androidx.cardview.widget.CardView

    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginEnd="8dp"
    android:background="@null"
    app:layout_constraintBottom_toBottomOf="@+id/ibLocationAction"
    app:layout_constraintEnd_toStartOf="@+id/ibLocationAction"
    app:layout_constraintStart_toEndOf="@+id/ibClose"
    app:layout_constraintTop_toTopOf="@+id/ibLocationAction">

    <fragment
        android:id="@+id/autocomplete_fragment"
        android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</androidx.cardview.widget.CardView>



PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
                getFragmentManager().findFragmentById(R.id.autocomplete_fragment);

        autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
            @Override
            public void onPlaceSelected(Place place) {
                Log.i(GlobalVar.TAG, "Place: " + place.getName());
                chosenPlace = place;
            }

            @Override
            public void onError(Status status) {
                Log.i(GlobalVar.TAG, "An error occurred: " + status);
            }
        });

1 个答案:

答案 0 :(得分:3)

根据放置自动完成文档 here,您可以将自动完成小部件置于重叠模式(称为“ MODE_OVERLAY”),也可以将自动完成小部件置于全屏模式(这称为MODE_FULLSCREEN)。

当我初次认识到地点自动完成功能时,我也遇到了这个问题,但是似乎您无法与按下的视图进行交互,因此您只能在MODE_FULLSCREEN和MODE_OVERLAY之间进行选择(如上所述)(全部根据文档)