2014-09-10 5 views
2

Я хочу создать собственный макет для моей кнопки google plus, любые идеи? Я попытался вызвать OnClickEvent кнопки google plus (это не работает), и я попытался изменить фоновое изображение. Исходный код:Как создать кнопку google plus с пользовательским расположением в Android?

  <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); 
+0

Вид разрешен: Google говорит: «Вы должны использовать только кнопку +1 в своих форматах. Вы не должны использовать другое изображение для представления функциональности кнопки +1. »- [link] (https://developers.google.com/+/web/+1button/#gapi.plusone.render) – jobbert

ответ

2
  1. Добавить пользовательскую кнопку в макете
  2. Установите OnClickListener к пользовательскому кнопки
  3. Используйте PlusClient, как описано here обращаться с процедурой Логин

В качестве примера Я могу предоставить свой класс контроллера для обработки входа в Google Plus:

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(); 
     } 
    } 
} 
+0

Прошу прощения мой вопрос был смутным, я имел в виду кнопку Google +1 .. но я дам вам правильный ответ в любом случае;) – jobbert

Смежные вопросы