2015-07-24 3 views

risposta

8

È necessario modificare la pulsante a livello di codice, utilizzando xml non funzionerà. Per esempio:

digitsButton.setText("Your text here"); 
digitsButton.setBackgroundColor(getResources().getColor(R.color.primary)); 
6

È possibile utilizzare il proprio pulsante e basta chiamare Digits.authenticate()

final AuthCallback digitsCallback = new AuthCallback() { 
    @Override 
    public void success(DigitsSession session, String phoneNumber) { 
     // Do something on success 
    } 

    @Override 
    public void failure(DigitsException exception) { 
     // Do something on failure 
    } 
}; 

findViewById(R.id.myButton).setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Digits.authenticate(digitsCallback); 
    } 
}); 
+2

Questa risposta è simile a thi s gist here:: https: //gist.github.com/rallat/849a68520ca10d913aeb – Simon

+0

** Risposta deprecata ** In 'Digits.authenticate (authConfig);' il parametro 'authConfig'is di tipo' AuthConfig' e non 'AuthCallback 'di cui hai parlato. Quindi questa è una risposta sbagliata! Fondamentalmente una versione precedente dell'implementazione. La risposta corretta è sopra di @frapeti – sud007

1

Ormai persino ricevuto una risposta. Ma solo nel caso in cui, modo più semplice per personalizzare il pulsante DigitsAuth avrebbe seguito di seguito:

  1. Creare nuova immagine di sfondo e il nome come dgts__digits_btn.png ==> questo sarebbe sostituire l'immagine di bg tasto digiAuth.
  2. Modifica imbottitura attorno al pulsante DigitsAuthButton con l'aggiunta di attributo tw__login_btn_drawable_padding in dimens.xml
  3. pulsante Cambia impostazione predefinita DigitsAuthButton testo aggiungendo voce di stringa con il nome "dgts__login_digits_text" in strings.xml
  4. Modifica la dimensione del testo con l'aggiunta di "tw__login_btn_text_size" in dimens.xml
  5. DigitsAuthButton pulsante imbottitura con l'aggiunta di "tw__login_btn_right_padding" e dimens.xml

Spero che questo aiuti.

0

utilizzando dati Android biblioteca Binding

file XML

<layout xmlns:android="http://schemas.android.com/apk/res/android" > 

    <data> 

     <variable 
      name="viewModel" 
      type="package.DigitsViewModel" /> 
    </data> 

    ... 
    <com.digits.sdk.android.DigitsAuthButton 
     ... 
     android:text="@{viewModel.mDigitsButtonText}" 
     android:background="@{viewModel.mDigitsButtonDrawable}" /> 

</layout> 

DigitsViewModel il file

public final ObservableField<String> mDigitsButtonText = new ObservableField<>(); 
public final ObservableField<Drawable> mDigitsButtonDrawable = new ObservableField<>(); 

mDigitsButtonText.set("Your text here"); 
mDigitsButtonDrawable.set(ContextCompat.getDrawable(mContext, R.drawable.some_drawable)); 
3

Prova questo l'OnClickListener del pulsante personalizzato:

AuthConfig.Builder builder = new AuthConfig.Builder(); 

builder.withAuthCallBack(new AuthCallback() { 
    @Override 
    public void success(DigitsSession session, String phoneNumber) { 
     Toast.makeText(getApplicationContext(), "Authentication successful for " 
      + phoneNumber, Toast.LENGTH_LONG).show(); 

      // Do something 
     } 

    @Override 
    public void failure(DigitsException error) { 
     // Do something 
    } 
}); 

AuthConfig authConfig = builder.build(); 

Digits.authenticate(authConfig); 
+0

Implementazioni corrette secondo l'ultima API! – sud007

+0

Onsucess non viene richiamato .. se si preme nuovamente lo stesso pulsante, la vittima diventa colpita .. – Moulesh

Problemi correlati