如何使一个谷歌加号按钮,在Android的自定义布局? [英] How do I make a google plus button with a custom layout in android?

查看:790
本文介绍了如何使一个谷歌加号按钮,在Android的自定义布局?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要创造我的谷歌加号按钮,任何想法自定义布局?我试过致电谷歌加号按钮的OnClickEvent(即不工作),我已经试图改变的背景图像。来源$ C ​​$ C:

 < com.google.android.gms.plus.PlusOneButton
            的xmlns:加=htt​​p://schemas.android.com/apk/lib/com.google.android.gms.plus
            机器人:ID =@ + ID / plus_one_button
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT
            加:大小=标准
            加:注释=内联/>    holder.mPlusOneButton =(PlusOneButton)holder.content.findViewById(R.id.plus_one_button);
    holder.mPlusOneButton.initialize(HTTP://www.xxx.xx/,0);


解决方案

  1. 添加自定义按钮布局

  2. 设置 OnClickListener 您的自定义按钮

  3. 使用 PlusClient 描述<一个href=\"https://developers.google.com/+/mobile/android/getting-started#step_3_initialize_the_plusclient\"相对=nofollow>这里处理登录程序

作为例子,我可以提供我的控制器类来处理谷歌加登录:

 公共类GooglePlusLoginController实现GooglePlayServicesClient.ConnectionCallbacks,GooglePlayServicesClient.OnConnectionFailedListener {    公共静态最终诠释REQUEST_ code_SIGN_IN = 100;    私人PlusClient googlePlusClient;
    私人ConnectionResult connectionResult;
    私人活动活动;    公共GooglePlusLoginController(活动活动){
        this.activity =活动;
        googlePlusClient =新PlusClient.Builder(活动,这,这)
                .setActions(http://schemas.google.com/AddActivity)
                .setScopes(Scopes.PLUS_LOGIN)//空格分隔范围清单
                。建立();
        googlePlusClient.connect();
    }    //调用此方法在点击处理程序
    公共无效登录(){
        尝试{
            connectionResult.startResolutionForResult(活动,REQUEST_ code_SIGN_IN);
        }赶上(IntentSender.SendIntentException E){
            googlePlusClient.connect();
        }
    }    //调用此方法在您的活动的的onActivityResult
    公共无效的onActivityResult(){
        如果(googlePlusClient.isConnected()及!&放大器;!googlePlusClient.isConnecting()){
            googlePlusClient.connect();
        }
    }    @覆盖
    公共无效onConnected(束束){
        //连接,你现在可以从用户的数据
        // googlePlusClient.getCurrentPerson()
    }    @覆盖
    公共无效onDisconnected(){
    }    @覆盖
    公共无效onConnectionFailed(ConnectionResult结果){
        connectionResult =结果;
    }    私人无效注销(){
        如果(googlePlusClient.isConnected()){
            googlePlusClient.clearDefaultAccount();
            googlePlusClient.disconnect();
            googlePlusClient.connect();
        }
    }
}

I want to create a custom layout for my google plus button, any ideas? I've tried calling the OnClickEvent of the google plus button (that doesn't work) and I've tried changing the background image. Source code:

           <com.google.android.gms.plus.PlusOneButton
            xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus"
            android:id="@+id/plus_one_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            plus:size="standard"
            plus:annotation="inline"/>

    holder.mPlusOneButton = (PlusOneButton) holder.content.findViewById(R.id.plus_one_button);
    holder.mPlusOneButton.initialize("http://www.xxx.xx/", 0);

解决方案

  1. Add a custom button to your layout
  2. Set OnClickListener to your custom button
  3. Use the PlusClient as described here to handle the login procedure

As example I can provide my controller class for handling Google Plus login:

public class GooglePlusLoginController implements GooglePlayServicesClient.ConnectionCallbacks, GooglePlayServicesClient.OnConnectionFailedListener {

    public static final int REQUEST_CODE_SIGN_IN = 100;

    private PlusClient googlePlusClient;
    private ConnectionResult connectionResult;
    private Activity activity;

    public GooglePlusLoginController(Activity activity) {
        this.activity = activity;


        googlePlusClient = new PlusClient.Builder(activity, this, this)
                .setActions("http://schemas.google.com/AddActivity")
                .setScopes(Scopes.PLUS_LOGIN) // Space separated list of scopes
                .build();
        googlePlusClient.connect();
    }

    // call this method in your click handler
    public void login() {
        try {
            connectionResult.startResolutionForResult(activity, REQUEST_CODE_SIGN_IN);
        } catch (IntentSender.SendIntentException e) {
            googlePlusClient.connect();
        }
    }

    // call this method in your activity's onActivityResult
    public void onActivityResult() {
        if(!googlePlusClient.isConnected() && !googlePlusClient.isConnecting()) {
            googlePlusClient.connect();
        }
    }

    @Override
    public void onConnected(Bundle bundle) {
        // connected, you can now get user's data from
        // googlePlusClient.getCurrentPerson()
    }

    @Override
    public void onDisconnected() {
    }

    @Override
    public void onConnectionFailed(ConnectionResult result) {
        connectionResult = result;
    }

    private void logout() {
        if(googlePlusClient.isConnected()) {
            googlePlusClient.clearDefaultAccount();
            googlePlusClient.disconnect();
            googlePlusClient.connect();
        }
    }
}

这篇关于如何使一个谷歌加号按钮,在Android的自定义布局?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆