为 Facebook 登录创建自己的自定义按钮
首次添加 Facebook 登录/注册后,按钮看起来像:
大多数情况下,它与你的应用程序的设计规格不匹配。以下是如何自定义它:
<FrameLayout
android:layout_below="@+id/no_network_bar"
android:id="@+id/FrameLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.facebook.login.widget.LoginButton
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" />
<Button
android:background="#3B5998"
android:layout_width="match_parent"
android:layout_height="60dp"
android:id="@+id/fb"
android:onClick="onClickFacebookButton"
android:textAllCaps="false"
android:text="Sign up with Facebook"
android:textSize="22sp"
android:textColor="#ffffff" />
</FrameLayout>
只需将原始的 com.facebook.login.widget.LoginButton
包裹成 FrameLayout
并使其可见性消失。
接下来,在同一个 FrameLayout
中添加自定义按钮。我添加了一些示例规格。你可以随时为 facebook 按钮创建自己的可绘制背景,并将其设置为按钮的背景。
我们做的最后一件事就是将我的自定义按钮上的点击转换为点击 facecbook 按钮:
//The original Facebook button
LoginButton loginButton = (LoginButton)findViewById(R.id.login_button);
//Our custom Facebook button
fb = (Button) findViewById(R.id.fb);
public void onClickFacebookButton(View view) {
if (view == fb) {
loginButton.performClick();
}
}
大! 现在按钮看起来像这样: