2016-10-22 114 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" 
     />