AutocompleteSupportFragment autocompleteFragment=(AutocompleteSupportFragment)
getSupportFragmentManager().findFragmentById(R.id.autocomplete_fragment);
ImageView searchIcon = (ImageView)
((LinearLayout)autocompleteFragment.getView()).getChildAt(0);
searchIcon.setImageDrawable(getResources().getDrawable(R.drawable.search));
想要为地图中的搜索框设置自定义背景
autocompleteFragment.getView().setBackground(new Drawable));// need help here
谷歌的文档说:
默认情况下,片段没有边框或背景。要提供 一致的视觉外观,将片段嵌套在另一个布局中 元素,例如卡片视图。
因此,例如,为了给它一个quantum_orange的外观,我这样做了:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.cardview.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_gravity="center"
card_view:cardBackgroundColor="@color/quantum_orange"
card_view:cardCornerRadius="4dp">
<fragment
android:id="@+id/autocomplete_fragment"
android:name="com.google.android.libraries.places.widget.AutocompleteSupportFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</androidx.cardview.widget.CardView>
</LinearLayout>
否则,您可以这样做:
autocompleteFragment.getView().setBackgroundResource(R.drawable.my_drawable);
或者这个:
autocompleteFragment.getView().setBackgroundColor(Color.RED);
或者,您可能希望考虑使用自定义片段创建自己的完全可自定义的 UI。
希望这对你有帮助。