是否可以使用我自己的布局&
Android版Firebase UI Auth按钮?
我基本上想要实现自己选择身份提供者(google,facebook等)的屏幕,并从我的点击监听器开始相应的流程(例如使用Butterknife):
@OnClick(R.id.login_btn_signInGoogle) public void signInGoogle(View view) { // Start google sign in flow <--- This is what I do not know how to do it } @OnClick(R.id.login_btn_signInFacebook) public void signInFacebook(View view) { // Start facebook sign in flow <--- This is what I do not know how to do it }
我知道firebase提供了自定义屏幕/主题的可能性,但对我的情况来说还不够.
在最坏的情况下,我将不得不使用标准的firebase sdk方法来实现它.
解决方法
现在,我们所能做的就是按照
here所述接受他们在FirebaseUI上的布局.如果我们不喜欢,我们必须自己登录.
我真的希望他们将来能提供一些定制服务.
我真的希望他们将来能提供一些定制服务.
在我的应用程序中,我有一个单独的徽标和一个单独的背景,因此当您尝试注册电子邮件时,徽标会消失,注册对话框不会干扰徽标,如here
你可以用.SetTheme和.Setlogo来做
startActivityForResult( AuthUI.getInstance() .createSignInIntentBuilder() .setTheme(R.style.FirebaseLoginTheme) .setlogo(R.drawable.logo) .setProviders(Arrays.asList( new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build(),new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build(),new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build())) .setIsSmartLockEnabled(false) .build(),RC_SIGN_IN);
在styles.xml中编辑windowBackground for FirebaseLoginTheme:
<style name="FirebaseLoginTheme" parent="FirebaseUI"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowBackground">@drawable/login</item> </style>