首页 > 解决方案 > Places SDK for Android:设置自动完成活动的样式

问题描述

我正在使用 Intent 从 Places SDK for Android 启动自动完成活动,如此处所述,如下所示:

Intent intent = new Autocomplete.IntentBuilder(
        AutocompleteActivityMode.FULLSCREEN, fields)
        .build(this);
startActivityForResult(intent, AUTOCOMPLETE_REQUEST_CODE);

但是我看不到一种对生成的自动完成活动进行样式设置的方法,以使其尽可能地匹配我的应用程序的主题,特别是遵循应用程序中使用的日/夜主题。目前,地点列表的背景总是显示为白色,顶部有深色文本,即只适合浅色主题。

例如,当从在设置为深色主题的系统上运行的应用程序中启动时,如下所示:

在此处输入图像描述

这个 Activity 是如何设计的?

标签: androidgoogle-maps

解决方案


colors.xml文件中确保您已定义这些:

<resources>
   <color name="colorPrimary">#ffffff</color>
   <color name="colorPrimaryDark">#03DAC5</color>
   <color name="colorAccent">#03d</color>
</resources>

styles.xml你应该有这个定义:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
   <item name="colorPrimary">@color/colorPrimary</item>
   <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
   <item name="colorAccent">@color/colorAccent</item>
</style>

这样我就可以更改 Places SDK 的颜色。

colorPrimary用于 EditText 周围的背景

colorPrimaryDark用于状态栏

样式和截图


推荐阅读