Я делаю приложение, которое использует щебет цифры, и мне было интересно, если есть способ, чтобы использовать его без использования кнопки уродливую щебет цифры, которая говорит «использовать мой номер телефона»Есть ли способ использовать Twitter Digits без кнопки в Android?
6
A
ответ
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);
}
});
1
К настоящему времени вы даже получили ответ. Но на всякий случай, самый простой способ настроить кнопки DigitsAuth будет следующее ниже:
- Создать новое фоновое изображение и назовите его dgts__digits_btn.png ==> это будет заменить Б.Г. изображение кнопки digiAuth.
- Изменение набивка вокруг кнопки DigitsAuthButton путем добавления tw__login_btn_drawable_padding атрибута в dimens.xml
- Изменение текста кнопки DigitsAuthButton по умолчанию путем добавления записи строки с именем «dgts__login_digits_text» в strings.xml
- Изменить размер шрифта путем добавления «tw__login_btn_text_size» в dimens.xml
- 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);
Этот ответ похож к thi sist здесь:: https: //gist.github.com/rallat/849a68520ca10d913aeb – Simon
** Устаревший ответ ** В 'Digits.authenticate (authConfig);' параметр 'authConfig'is типа' AuthConfig', а не 'AuthCallback которые вы упомянули. Так что это неправильный ответ! В основном более старая версия реализации. Правильный ответ выше @frapeti – sud007