我正在尝试通过Firebase 身份验证将 Google 和 Facebook 登录添加到我的应用程序中。
当我在 LinearLayout 中添加官方的 Google 和 Facebook 登录按钮时,它如下所示:
(Nexus 5X API 25):
甚至更糟,像这样(LG G7 ThinQ API 28):
目标:
我的目标是让它们看起来像这样:
到目前为止所做的事情:
我目前正在使用来自Googles和Facebooks Developer-Page的官方 xml 代码
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.google.android.gms.common.SignInButton
android:id="@+id/google_login_button"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.facebook.login.widget.LoginButton
android:id="@+id/facebook_login_button"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
所以我发现需要修复以下两个方面才能调整两个按钮:
1)两个Sign-In Button的长度不同
- 这种差异与 Google 的登录按钮有一个小盒子阴影有关。
因此,如果您将两个按钮都设置为固定宽度,Google 的可见登录将始终较小。
2)每个文本的位置
- 在这里,我尝试调整 Facebook 按钮的文本,但似乎不起作用。
编辑:
我决定检查 Google 登录按钮的背景。
后台好像有以下规格:
所以我根据上面的值调整了 Facebook Button 并想出了:
<com.google.android.gms.common.SignInButton
android:id="@+id/google_login_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<com.facebook.login.widget.LoginButton
android:id="@+id/facebook_login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:layout_marginTop="4dp"
android:layout_marginRight="4dp"
android:layout_marginBottom="4dp"
android:paddingLeft="11dp"
android:paddingTop="11dp"
android:paddingBottom="11dp"
android:textSize="14dp"/>
现在按钮看起来像这样(没有红线)[Nexus 5X API25]:
我会非常高兴,但是当我用 [Nexus 5X API28] 看它们时,它看起来像这样:
我们如何解决这个问题?我感谢您的帮助!