android google signin和facebook登录按钮看起来完全不同

CQM*_*CQM 12 android assets google-plus android-facebook

默认的Facebook LoginButton对象和Google SignIn按钮对象具有完全不同的外观,并且它们不能一起适合我现有的布局.据我所知,这些对象不是我可以在不改变库本身的情况下修改的资产(我假设这些组件也是开源的)

人们如何处理这个问题?我已经看到有两个使用自己的自定义按钮的登录选项的应用程序,但在我的实现中,我使用那些给定的对象,可以在点击时自动调用各自的库.

我当然可以深入了解,但如果我这样做,我觉得我正在重新发明不那么明显的轮子

 <com.google.android.gms.common.SignInButton
                android:id="@+id/sign_in_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center" />
Run Code Online (Sandbox Code Playgroud)

这个对象显然不是一个按钮,我还没有检查过它是否真的是一个按钮.

我需要为Google+和Facebook登录按钮使用不同的资源.

是)我有的

我喜欢的一个Android示例(Duolingo app)

编辑:经过一些非常简单的布局调整后,这就是结果(在横向模式下,只是为了说明问题)

这些按钮仍然非常不同,我需要一个不同的资产,仍然可以访问正确的方法.由于这些例子,我有点了解如何使用Facebook,但谷歌签到对我来说非常神秘

iam*_*eef 12

要更改Facebook按钮上的文本,请使用:

fb:login_text="Put your login text here"
fb:logout_text="Put your logout text here"
Run Code Online (Sandbox Code Playgroud)

您还需要将其添加到按钮:

xmlns:fb="http://schemas.android.com/apk/res-auto"
Run Code Online (Sandbox Code Playgroud)

像这样:

<com.facebook.widget.LoginButton
        xmlns:fb="http://schemas.android.com/apk/res-auto"
        android:id="@+id/login_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="30dp"
        android:layout_marginBottom="0dp"
        fb:login_text="Sign in with Facebook"
        />
Run Code Online (Sandbox Code Playgroud)