如何自定义firebase auth ui

时间:2018-03-09 11:05:49

标签: android firebase firebase-authentication android-spinner firebaseui

我正在使用Firebase Auth Ui进行数字验证。我有一些要求,我需要更改国家微调器的下拉项目的文本和背景颜色。我使用的是以下风格,但它不会改变下拉列表背景或项目文字颜色的颜色。

style name="FirebaseUI.CountrySpinner" parent="Widget.AppCompat.Spinner.Underlined">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
    <item name="android:dropDownItemStyle">@style/mySpinnerItemStyle</item>
</style>

<style name="mySpinnerItemStyle" parent="@android:style/Widget.Holo.DropDownItem.Spinner">
    <item name="android:textColor">@color/colorVerifyButtonText</item>
</style>

我在这里做错了什么,请帮助我。

1 个答案:

答案 0 :(得分:2)

您需要扩展FirebaseUI主题并将其传递到构建器选项中。 例如:

<style name="GreenTheme" parent="FirebaseUI">
    <!-- Required for sign-in flow styling -->
    <item name="colorPrimary">@color/material_green_500</item>
    <item name="colorPrimaryDark">@color/material_green_700</item>
    <item name="colorAccent">@color/material_purple_a700</item>

    <item name="colorControlNormal">@color/material_green_500</item>
    <item name="colorControlActivated">@color/material_lime_a700</item>
    <item name="colorControlHighlight">@color/material_green_a200</item>
    <item name="android:windowBackground">@color/material_green_50</item>
</style>

在Java中:

startActivityForResult(
    AuthUI.getInstance(this).createSignInIntentBuilder()
        // ...
        .setTheme(R.style.GreenTheme)
        .build());

文档:https://github.com/firebase/FirebaseUI-Android/blob/master/auth/README.md#themes

您基本上希望使用下拉属性扩展FirebaseUI样式。