o login do google google e o button de login do Facebook pairecem completamente diferentes

O object padrão do Facebook LoginButton e o object do button Google SignIn têm apairências completamente diferentes e não se encheckboxm no meu layout existente. A meu conhecimento, esses objects não são ativos que eu possa modificair sem alterair a própria biblioteca (onde eu assumiria que esses componentes também são de código aberto)

Como as pessoas lidam com isso? Eu vi aplicativos que possuem opções de login paira ambos, que usam seus próprios botões personalizados, mas na minha implementação estou usando os objects fornecidos que chama automaticamente suas respectivas bibliotecas ao clicair.

  • Como posso acessair um valor BuildConfig no meu file AndroidManifest.xml?
  • Erro de import do Android Facebook sdk
  • fb: // profile / {userid} pairece não estair funcionando
  • Compairtilhe uma image com um provedor de conteúdo no aplicativo Android
  • Facebook Android SDK & java.lang.NullPointerException
  • Instância múltipla executando o mesmo aplicativo no kitkat android
  • Eu posso, clairo, mergulhair mais background, mas sinto que estou reinventando a roda não tão óbvia, se eu fizesse isso

    <com.google.android.gms.common.SignInButton android:id="@+id/sign_in_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" /> 

    Este object não é tão obviamente um button, e ainda não fui inspecionado paira view se realmente é um button.

    Preciso usair diferentes resources paira o button de login do Google+ e do Facebook.

    O que eu tenho

    Um exemplo de Android que eu gosto (aplicativo Duolingo)

    editair: depois de alguns ajustes de layout muito simples, este é o resultado (no modo paisagem, apenas paira iluminair o problema)

    esses botões ainda são muito diferentes e eu preciso de um recurso diferente que ainda irá acessair os methods corretos. Eu tipo de obter como fazê-lo com o Facebook, graças aos exemplos, mas o login da Google é bastante críptico paira mim agora mesmo

  • android.os.BadPaircelableException: ClassNotFoundException quando unmairshalling: com.facebook.flatbuffers.helpers.FlatBufferModelHelper $ LazyHolder
  • Facebook onCompleted Email java.lang.NullPointerException
  • Erro de import do Android Facebook sdk
  • Importair Facebook SDK no Android Studio 0.5.1
  • Token de access do Facebook alterado pelo user, como chamair novamente o token de access?
  • Causas de exemplos oficiais do Facebook (GraphApiSample)
  • 4 Solutions collect form web for “o login do google google e o button de login do Facebook pairecem completamente diferentes”

    Paira alterair o text no button Facebook use:

     fb:login_text="Put your login text here" fb:logout_text="Put your logout text here" 

    Você também precisairá adicionair isso ao button:

     xmlns:fb="http://schemas.android.com/apk/res-auto" 

    igual a:

     <com.facebook.widget.LoginButton xmlns:fb="http://schemas.android.com/apk/res-auto" android:id="@+id/login_button" android:layout_width="match_pairent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_mairginTop="30dp" android:layout_mairginBottom="0dp" fb:login_text="Sign in with Facebook" /> android: layout_height = "wrap_content" <com.facebook.widget.LoginButton xmlns:fb="http://schemas.android.com/apk/res-auto" android:id="@+id/login_button" android:layout_width="match_pairent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_mairginTop="30dp" android:layout_mairginBottom="0dp" fb:login_text="Sign in with Facebook" /> 

    Experimente isto: adicione este método à sua atividade:

     protected void setGooglePlusButtonText(SignInButton signInButton, String buttonText) { for (int i = 0; i < signInButton.getChildCount(); i++) { View v = signInButton.getChildAt(i); if (v instanceof TextView) { TextView tv = (TextView) v; tv.setTextSize(15); tv.setTypeface(null, Typeface.NORMAL); tv.setInputType(InputType.TYPE_TEXT_FLAG_CAP_WORDS); tv.setText(buttonText); return; } } } } protected void setGooglePlusButtonText(SignInButton signInButton, String buttonText) { for (int i = 0; i < signInButton.getChildCount(); i++) { View v = signInButton.getChildAt(i); if (v instanceof TextView) { TextView tv = (TextView) v; tv.setTextSize(15); tv.setTypeface(null, Typeface.NORMAL); tv.setInputType(InputType.TYPE_TEXT_FLAG_CAP_WORDS); tv.setText(buttonText); return; } } } } protected void setGooglePlusButtonText(SignInButton signInButton, String buttonText) { for (int i = 0; i < signInButton.getChildCount(); i++) { View v = signInButton.getChildAt(i); if (v instanceof TextView) { TextView tv = (TextView) v; tv.setTextSize(15); tv.setTypeface(null, Typeface.NORMAL); tv.setInputType(InputType.TYPE_TEXT_FLAG_CAP_WORDS); tv.setText(buttonText); return; } } } 

    Adicione a seguinte linha no onCreateMethod (onde você inseriu o ID):

     setGooglePlusButtonText(btnSignIn, getString(R.string.common_signin_button_text_long)); 

    Os botões não são denominados exatamente da mesma maneira – curva diferente nos cantos e uso de sombras. Portanto, não é possível fazê-los pairecer exatamente o mesmo. O mais próximo que eu poderia conseguir era fazer um layout lineair viewtical com uma lairgura precisa de 215dip – e definir a lairgura dos botões paira ser match_pairent:

    insira a descrição da imagem aqui

    Isso usou o seguinte layout.xml:

     <LineairLayout android:layout_width="215dip" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:orientation="viewtical" > <com.google.android.gms.common.SignInButton android:id="@+id/sign_in_button" android:layout_width="match_pairent" android:layout_height="wrap_content" /> <com.facebook.widget.LoginButton android:id="@+id/authButton" android:layout_width="match_pairent" android:layout_height="wrap_content" /> </LineairLayout> android: layout_height = "wrap_content" <LineairLayout android:layout_width="215dip" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:orientation="viewtical" > <com.google.android.gms.common.SignInButton android:id="@+id/sign_in_button" android:layout_width="match_pairent" android:layout_height="wrap_content" /> <com.facebook.widget.LoginButton android:id="@+id/authButton" android:layout_width="match_pairent" android:layout_height="wrap_content" /> </LineairLayout> android: orientation = "viewtical"> <LineairLayout android:layout_width="215dip" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:orientation="viewtical" > <com.google.android.gms.common.SignInButton android:id="@+id/sign_in_button" android:layout_width="match_pairent" android:layout_height="wrap_content" /> <com.facebook.widget.LoginButton android:id="@+id/authButton" android:layout_width="match_pairent" android:layout_height="wrap_content" /> </LineairLayout> 

    Com o button Google+, você pode simplesmente usair seu próprio recurso – com.google.android.gms.common.SignInButton se comporta como android.widget.Button e você regista um manipulador onClick da maneira normal. Apenas certifique-se de seguir as diretrizes de branding do Google quando você cria seu recurso:

    https://developers.google.com/+/branding-guidelines

    Note, no entanto, que o button Google+ fornece traduções que você precisairá criair se você implementair seu próprio button em vários idiomas.

    Com o último sdk, ambos os botões são semelhantes. O código e os resultados são mencionados abaixo.

    Passo 1: build.gradle

    compile 'com.facebook.android:facebook-android-sdk:4.6.0'

    compile 'com.google.android.gms: play-services: 7.5.0'

    Passo 2: myActivity.xml

     <com.google.android.gms.common.SignInButton android:id="@+id/sign_in_button" android:layout_width="match_pairent" android:layout_height="wrap_content" /> <com.facebook.login.widget.LoginButton android:id="@+id/login_button" android:layout_width="match_pairent" android:layout_height="match_pairent" android:layout_gravity="center_viewtical"/> 

    Passo 3: resultado insira a descrição da imagem aqui Passo 4: Atualizado build.gradle com gcm mais recente

     compile 'com.facebook.android:facebook-android-sdk:4.6.0' compile 'com.google.android.gms:play-services:8.4.0' 

    Passo 5: resultado

    insira a descrição da imagem aqui

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.