首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法使用FirebaseUI隐藏授权活动的标题栏

无法使用FirebaseUI隐藏授权活动的标题栏
EN

Stack Overflow用户
提问于 2016-08-25 12:32:54
回答 2查看 1.7K关注 0票数 6

我试着使用下面的风格

代码语言:javascript
复制
<style name= "AuthStyle">
<item name="android:windowBackground">@drawable/culture</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>

然后我在这里应用了上面的样式:

代码语言:javascript
复制
startActivityForResult(AuthUI.getInstance()
                .createSignInIntentBuilder()
                .setProviders(AuthUI.EMAIL_PROVIDER,
                              AuthUI.FACEBOOK_PROVIDER,
                              AuthUI.GOOGLE_PROVIDER)
                .setTheme(R.style.AuthStyle)
                .build()
                ,1);

但是,标题栏仍在显示。任何关于如何删除/隐藏它的建议都将不胜感激

EN

回答 2

Stack Overflow用户

发布于 2016-12-29 20:59:40

Firebase UI覆盖/忽略了主题中操作栏/应用程序栏的移除,因此我们必须作弊。在styles.xml

代码语言:javascript
复制
<style name="AppThemeFirebaseAuth" parent="android:Theme.Material.Light.NoActionBar">
    <item name="android:actionBarStyle">@style/FirebaseAuthActionBarStyle</item>
    <item name="android:windowActionBarOverlay">true</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="FirebaseAuthActionBarStyle" parent="Widget.AppCompat.ActionBar">
    <item name="android:background">@color/white</item>
</style>

(或者不是@color/white,不管你的背景颜色是什么。)

开始登录活动的位置:

代码语言:javascript
复制
    Intent signInIntent = AuthUI.getInstance().createSignInIntentBuilder()
            .setProviders(Arrays.asList(
                    new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build(),
                    new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build()))
            .setTheme(R.style.AppThemeFirebaseAuth)
            .setLogo(R.drawable.logo)
            .setIsSmartLockEnabled(!BuildConfig.DEBUG)
            .build();

请记住,在Firebase UI的未来版本中,操作栏/应用程序栏可能会变得有用或必需,因此这有点危险。

票数 5
EN

Stack Overflow用户

发布于 2019-03-15 04:19:47

从firebase ui版本4.3.1开始,以下代码足以隐藏倾斜条,不需要使用背景颜色:

代码语言:javascript
复制
<style name="AppThemeFirebaseAuth" parent="android:Theme.Light.NoTitleBar">
    <item name="android:windowActionBarOverlay">true</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

只需在创建AuthUI实例时引用样式即可

代码语言:javascript
复制
// Choose authentication providers
List<AuthUI.IdpConfig> providers = Arrays.asList(
    new AuthUI.IdpConfig.PhoneBuilder().build());
AuthUI.createSignInIntentBuilder()
      .setAvailableProviders(providers)
      .setTheme(R.style.AppThemeFirebaseAuth)
      .build(),

在android 4.4.2和android 9 (Nexus模拟器)中测试

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39136738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档