Android Facebookログインボタンをカスタマイズする 質問する

Android Facebookログインボタンをカスタマイズする 質問する

Facebook SDK for Android (facebook-android-sdk-3.0.1) に付属する Facebook ログイン ボタンの外観をカスタマイズしたいと考えています。タイトルが「Facebook 経由でログイン」のシンプルな Android ボタンが必要です。これに関するドキュメントは見つかりませんでした。

したがって、簡単な方法でそれを実行する方法を誰かが知っている場合は、私にその方法を教えるか、指示してください。

ベストアンサー1

を使用せずに完全にカスタマイズされた Facebook ログイン ボタンを作成するにはcom.facebook.widget.LoginButton

Facebook SDK 4.xによると、

Facebookからのログインの新しい概念があります

ログインマネージャとアクセストークン- これらの新しいクラスはFacebookログインを実行します

だから、FacebookログインボタンなしでFacebook認証にアクセスできるようになりました

レイアウト.xml

    <Button
            android:id="@+id/btn_fb_login"
            .../>

メインアクティビティ.java

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        FacebookSdk.sdkInitialize(this.getApplicationContext());

        callbackManager = CallbackManager.Factory.create();

        LoginManager.getInstance().registerCallback(callbackManager,
                new FacebookCallback<LoginResult>() {
                    @Override
                    public void onSuccess(LoginResult loginResult) {
                        Log.d("Success", "Login");

                    }

                    @Override
                    public void onCancel() {
                        Toast.makeText(MainActivity.this, "Login Cancel", Toast.LENGTH_LONG).show();
                    }

                    @Override
                    public void onError(FacebookException exception) {
                        Toast.makeText(MainActivity.this, exception.getMessage(), Toast.LENGTH_LONG).show();
                    }
                });

        setContentView(R.layout.activity_main);

        Button btn_fb_login = (Button)findViewById(R.id.btn_fb_login);

        btn_fb_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                  LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("public_profile", "user_friends"));
            }
        });

    }

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    callbackManager.onActivityResult(requestCode, resultCode, data); 
}

おすすめ記事