[英]android facebook and google login. custom button shapes
I saw on app that has circle facebook and twitter images. 我在具有圆形Facebook和Twitter图像的应用程序中看到。 I will add screenshot 我将添加屏幕截图
Question is how they made facebook button circle shape? 问题是他们如何制作Facebook按钮的圆形形状? I know how to add custom text or background image on standart facebook button. 我知道如何在standart 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"
/>
But my result is different from what I expected 但是我的结果与我预期的不同
You can use this class 你可以用这个课
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());
}
});
}
}
Design code : 设计规范:
<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"
/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.