定制Facebook& Android Studio中的Google+登录按钮

时间:2016-05-11 12:16:29

标签: android facebook google-plus

I want these buttons


I have these buttons

我想自定义我的Facebook和Google+登录按钮,有人可以帮我吗?
这些是我的布局代码

  <com.facebook.login.widget.LoginButton
        android:id="@+id/login_button"
        android:layout_width="fill_parent"
        android:layout_height="45dp"
        android:layout_weight="1"
        android:text=""
        android:layout_gravity="center"
        android:padding="0dp" />


    <com.google.android.gms.common.SignInButton
        android:id="@+id/sign_in_button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_gravity="center"
        android:padding="0dp" />        

1 个答案:

答案 0 :(得分:1)

您应该使用按钮,而不是使用默认的UI组件。做你想要的任何设计。单击按钮,您必须编写登录/注册代码或任何您想要的代码。

这仅是示例。

<Button
 android:id="@+id/loginButtonFacebook"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:background="@drawable/shape_blue_button"
 android:text="@string/facebook_txt" />

<Button
 android:id="@+id/loginButtonGoogle"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:background="@drawable/shape_red_button"
 android:text="@string/google_txt" />

Facebook的: 在您的活动中执行以下操作:

    public class LoginActivity extends FragmentActivity {

    public static CallbackManager callbackmanager;

    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            FacebookSdk.sdkInitialize(getApplicationContext());
            callbackmanager = CallbackManager.Factory.create();
            setContentView(R.layout.activity_login);


            LoginManager.getInstance().registerCallback(callbackmanager, new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(LoginResult loginResult) {

                    // Use Access Token loginResult.getAccessToken().getToken());
                }

                @Override
                public void onCancel() {
                    // Handle cancel event
                }

                @Override
                public void onError(FacebookException error) {
                    //Handle Error event
                }
            });
    }
  }

按钮点击事件:

LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList(
                        "email", "public_profile", "user_friends"));

清单文件 -

<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.app.FacebookContentProviderYOUR_APP_ID"
android:exported="true" />