0

我正在尝试通过Firebase 身份验证将 Google 和 Facebook 登录添加到我的应用程序中。
当我在 LinearLayout 中添加官方的 Google 和 Facebook 登录按钮时,它如下所示:

(Nexus 5X API 25):

在此处输入图像描述

甚至更糟,像这样(LG G7 ThinQ API 28):

在此处输入图像描述



目标
我的目标是让它们看起来像这样:

![在此处输入图像描述



到目前为止所做的事情:
我目前正在使用来自GooglesFacebooks 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] 看它们时,它看起来像这样: 在此处输入图像描述

我们如何解决这个问题?我感谢您的帮助!

4

2 回答 2

0

也许它对你有帮助。

1) 尝试对width所有 Layout 和 Buttons match_parentOR执行相同操作0dp

2)android:layout_weight如果可以的话,从布局中删除。

《快乐编码》

<LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:orientation="vertical">


            <com.google.android.gms.common.SignInButton
                android:id="@+id/google_login_button"
                android:layout_width="0dp"  
                android:layout_height="wrap_content" />

            <com.facebook.login.widget.LoginButton
                android:id="@+id/facebook_login_button"
                android:layout_width="0dp"
                android:layout_height="wrap_content" />
</LinearLayout>```
于 2020-04-04T21:17:47.343 回答
0

我认为您可以从布局中设置按钮的宽度和高度,如下所示。

<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="200dp"
        android:layout_height="80dp" />

    <com.facebook.login.widget.LoginButton
        android:id="@+id/facebook_login_button"
        android:layout_width="200dp"
        android:layout_height="80dp" />

</LinearLayout>
于 2020-04-04T17:50:36.113 回答