2015-07-24 2 views
6

Я делаю приложение, которое использует щебет цифры, и мне было интересно, если есть способ, чтобы использовать его без использования кнопки уродливую щебет цифры, которая говорит «использовать мой номер телефона»Есть ли способ использовать Twitter Digits без кнопки в Android?

ответ

8

Вы должны модифицировать кнопка программно, использование xml не будет работать. Например:

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

Вы можете использовать свои собственные кнопки и просто вызовите 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

Этот ответ похож к thi sist здесь:: https: //gist.github.com/rallat/849a68520ca10d913aeb – Simon

+0

** Устаревший ответ ** В 'Digits.authenticate (authConfig);' параметр 'authConfig'is типа' AuthConfig', а не 'AuthCallback которые вы упомянули. Так что это неправильный ответ! В основном более старая версия реализации. Правильный ответ выше @frapeti – sud007

1

К настоящему времени вы даже получили ответ. Но на всякий случай, самый простой способ настроить кнопки DigitsAuth будет следующее ниже:

  1. Создать новое фоновое изображение и назовите его dgts__digits_btn.png ==> это будет заменить Б.Г. изображение кнопки digiAuth.
  2. Изменение набивка вокруг кнопки DigitsAuthButton путем добавления tw__login_btn_drawable_padding атрибута в dimens.xml
  3. Изменение текста кнопки DigitsAuthButton по умолчанию путем добавления записи строки с именем «dgts__login_digits_text» в strings.xml
  4. Изменить размер шрифта путем добавления «tw__login_btn_text_size» в dimens.xml
  5. DigitsAuthButton Кнопка отступы, добавив "tw__login_btn_right_padding" и dimens.xml

Надежда это помогает.

0

с использованием Binding библиотеки Android Data

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 файл

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

Попробуйте в OnClickListener вашей пользовательской кнопки:

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

Корректные реализации в соответствии с новейшим API! – sud007

+0

Onsucess не набирается. Если эта кнопка снова нажата, то den onsucess получает удар. – Moulesh

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