gpt4 book ai didi

android - 如何更改 Firebase UI (Android) 国家代码选择器中的文本颜色

转载 作者:行者123 更新时间:2023-12-05 00:00:09 26 4
gpt4 key购买 nike

我在我的应用程序中使用 Firebase UI 4.0.1,它通过 AuthUI.getInstance().createSignInIntentBuilder().setTheme(R.style.LoginTheme)

使用以下主题
<style name="Base"  parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primaryColor</item>
<item name="colorPrimaryDark">@color/primaryDarkColor</item>
<item name="colorAccent">@color/secondaryColor</item>
<item name="android:windowBackground">@color/primaryColor</item>
</style>

<style name="Base.AppTheme">
<!-- Customize your theme here. -->
<item name="android:editTextStyle">@style/Yas_EditTextStyle</item>
<item name="editTextStyle">@style/Yas_EditTextStyle</item>
<item name="android:textColor">@color/primaryTextColor</item>
</style>

<style name="AppTheme" parent="Base.AppTheme">
<item name="android:windowTranslucentStatus">true</item>
</style>

<style name="LoginTheme" parent="@style/Base">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:alertDialogStyle">@style/Login_AlertDialogStyle</item>
</style>

<style name="Login_AlertDialogStyle" parent="@style/AlertDialog.AppCompat.Light">
<item name="android:textColorAlertDialogListItem">@android:color/black</item>
<item name="android:textColor">@android:color/black</item>
</style>

注意 primaryTextColor 是白色的。当我这样做时,一切看起来都很好,直到我打开国家代码选择器的警报对话框。在那里我得到了一个国家列表,但文本是白色背景上的白色。我试图将该文本设置为黑色,但它显示为白色。这是被调用的对话框类的链接:https://github.com/firebase/FirebaseUI-Android/blob/master/auth/src/main/java/com/firebase/ui/auth/ui/phone/CountryListSpinner.java#L163

如何确保 Firebase UI 使用我的 Login_AlertDialogStyle

最佳答案

尝试将其添加到您的 FirebaseUI 主题中:

<item name="android:alertDialogTheme">@style/Login_AlertDialogStyle</item>

您首先需要在 styles.xml 中创建自定义 FirebaseUI 主题,它必须从 FirebaseUI 扩展。然后,您需要通过 AuthUI 构建器设置此样式:

样式.xml

<style name="SignInTheme" parent="FirebaseUI">
<item name="android:alertDialogTheme">@style/Login_AlertDialogStyle</item>
<!-- Feel free to add anything else you want here -->
</style>

Activity.class

Intent firebaseAuth = AuthUI.getInstance()
.createSignInIntentBuilder()
.setTheme(R.style.SignInTheme) // set your sign in theme here
.setAvailableProviders(Arrays.asList(
new AuthUI.IdpConfig.PhoneBuilder().build(),
new AuthUI.IdpConfig.GoogleBuilder().build()))
.build();

更多关于自定义 UI 的信息:https://github.com/firebase/FirebaseUI-Android/blob/master/auth/README.md#ui-customization

关于android - 如何更改 Firebase UI (Android) 国家代码选择器中的文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50954852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com