2016-10-22 113 views
0

我看到的應用程序,有圓Facebook和Twitter圖像。我將添加屏幕截圖 enter image description hereAndroid的Facebook和谷歌登錄。自定義按鈕形狀

問題是他們如何讓Facebook按鈕的圓形?我知道如何在標準facebook按鈕上添加自定義文字或背景圖片。

<com.facebook.login.widget.LoginButton 
      android:text="" 
      android:id="@+id/facebook_login_button" 
      android:layout_width="80dp" 
      android:layout_height="80dp" 
      android:background="@drawable/facebook_logo_button" 
      android:layout_gravity="center_horizontal" 
      /> 

但我的結果跟我想象中 enter image description here

+0

使用這個庫https://開頭github.com/hdodenhof/CircleImageView –

+0

你可以創建一個簡單的屁股在和點擊該按鈕使用Facebook或谷歌電話 – AmeeJoshi

+0

@Amee喬希如何做到這一點?我的意思是有一些方法只適用於facebook按鈕'LoginButton loginButton =(LoginButton)view.findViewById(R.id.facebook_login_button); loginButton.setReadPermissions(「email」); loginButton.setFragment(this);' – David

回答

2

你可以使用這個類不同

public class Signup extends Activity{ 

    private AccessToken accessToken; 

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


// If the access token is available already assign it. 
     accessToken = AccessToken.getCurrentAccessToken(); 


     btn_facebook = (Button) findViewById(R.id.facebook_button); 
     btn_facebook.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (AccessToken.getCurrentAccessToken() != null) { 
        // LoginManager.getInstance().logOut(); 
        LoginManager.getInstance().logInWithReadPermissions(SignUpOption.this, Arrays.asList("public_profile", "email", "user_friends")); 
       } else { 
        LoginManager.getInstance().logInWithReadPermissions(SignUpOption.this, Arrays.asList("public_profile", "email", "user_friends")); 
       } 
      } 
     }); 


      LoginManager.getInstance().registerCallback(callbackManager, 
       new FacebookCallback<LoginResult>() { 

        @Override 
        public void onSuccess(final LoginResult loginResult) { 

         AccessToken accessToken = AccessToken 
           .getCurrentAccessToken(); 

         GraphRequest request = GraphRequest.newMeRequest(
           loginResult.getAccessToken(), 
           new GraphRequest.GraphJSONObjectCallback() { 
            @Override 
            public void onCompleted(final JSONObject object, GraphResponse response) { 
             try { 
              id = object.optString("id").toString(); 
              fullName = object.optString("name").toString(); 
              String array[] = fullName.split(" "); 
              firstName = array[0].toString(); 
              lastName = array[1].toString(); 
              gender = object.optString("gender").toString(); 

              profilePicUrl = "https://graph.facebook.com/" + object.getString("id").toString() 
                + "/picture?type=large&return_ssl_resources=1"; 
              birthday = object.optString("birthday"); 
              try { 
               emailAddress = object.getString("email").toString(); 
              } catch (JSONException e) { 
               e.printStackTrace(); 
               emailAddress = ""; 
              } 


             } catch (Exception e) { 
              e.printStackTrace(); 
             } 
            } 
           }); 
         Bundle parameters = new Bundle(); 
         parameters.putString("fields", "id,name,email,gender, birthday"); 
         request.setParameters(parameters); 
         request.executeAsync(); 

        } 

        @Override 
        public void onCancel() { 
         AccessToken.setCurrentAccessToken(null); 
        } 

        @Override 
        public void onError(FacebookException exception) { 
         AccessToken.setCurrentAccessToken(null); 
         // Toast.makeText(SignUpOption.this, exception.getMessage(), Toast.LENGTH_LONG).show(); 
         ShowMsg(exception.getMessage()); 
        } 
       }); 

    } 


} 

設計代碼:

<view 
     android:id="@+id/facebook_button" 
     class="Utils.CustomButton" 
     android:layout_width="match_parent" 
     android:layout_height="45dp" 
     android:layout_marginTop="@dimen/dp_15" 
     android:textAllCaps="false" 
     android:background="@mipmap/fb_icon_big" 
     android:text="Sign-Up with Facebook" 
     android:textColor="@android:color/white" 
     android:gravity="center" 
     />