0

Firebase Authenticationを介して Google および Facebook ログインをアプリに追加しようとしています。
LinearLayout に公式の Google と Facebook のログイン ボタンを追加すると、次のようになります。

(Nexus 5X API 25):

ここに画像の説明を入力

さらに悪いことに、このように (LG G7 ThinQ API 28):

ここに画像の説明を入力



目的:
私の目標は、それらを次のようにすることです。

![ここに画像の説明を入力



これまでに行ったこと:
現在、Google および Facebook の 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>



そのため、2 つのボタンを調整するには、次の2 つの側面を修正する必要があることがわかりました。

1) 2 つのサインイン ボタンの長さの違い

  • この違いは、Google のサインイン ボタンに小さなボックス シャドウがあることに関係しています。
    したがって、両方のボタンを固定幅に設定すると、Google に表示されるサインインは常に小さくなります。

2)各テキストの位置

  • ここで、Facebook ボタンのテキストを調整しようとしましたが、うまくいかないようです。





編集:

Google サインイン ボタンの背景を調べることにしました。
背景は以下の仕様のようです。

ここに画像の説明を入力

そこで、上記の値に従って Facebook ボタンを調整し、次のようにしました。

    <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

次のように、レイアウトからボタンの幅と高さを設定できると思います。

<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 に答える
0

多分それはあなたを助けます。

1)widthすべてのレイアウトと両方のボタンmatch_parentまたは両方で同じことをしてみてください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 に答える