在google_map中更改自动完成片段的背景


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。

希望这对你有帮助。

相关内容

  • 没有找到相关文章

最新更新