您可以在多大程度上自定义 Android 上 Fabric's Digits 的流程、外观和感觉?
To what extent can you customize the flow, look and feel of Fabric's Digits on Android?
我正在研究如何通过以下方式在我的应用中自定义数字:
- 主题:文档显示了如何更改表单的颜色主题,但没有说明如何(如果 possible)更改视图布局或 add/remove 视图元素。我可以更改 DigitsAuthButton 的文本吗?另一个非常重要的示例是更改 android os 后退按钮的功能。
- 流程:我想自定义身份验证流程。例如,当 phone 号码在我的服务器中无效时,Android 用户将被定向到一个新屏幕(不一定是登录 up/create 帐户)。我还想实现自定义错误处理(即确认码不正确时的自定义对话等)
我希望任何有使用 Digits 经验的人提供反馈,看看它是否是我想做的事情的正确工具,如果是的话,我将如何进行这些自定义。
你可以看看Cannonball Sample project,它是开源的。
要更改 DigitsAuthButton 的文本,您可以通过扩展 DigitsAuthButton 添加自定义数字按钮:
public class DigitsRegisterButton extends DigitsAuthButton {
public DigitsRegisterButton(Context c) {
super(c);
init();
}
public DigitsRegisterButton(Context c, AttributeSet attrs) {
super(c, attrs);
init();
}
public DigitsRegisterButton(Context c, AttributeSet attrs, int defStyle) {
super(c, attrs, defStyle);
init();
}
private void init() {
if (isInEditMode()) {
return;
}
setBackgroundResource(R.drawable.digits_button_bg);
// Modifying the text here..
setText(getResources().getString(R.string.digits_register_text));
setTextColor(getResources().getColor(R.color.theme_color));
}
}
然后您可以在布局中使用和自定义它:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.pinchat.pinchat.view.DigitsRegisterButton
android:id="@+id/signup_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/digits_button_bg"
android:text="@string/digits_register_text"
android:textColor="@color/theme_color"
android:textSize="@dimen/digits_register_btn_text"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:drawableStart="@drawable/ic_signin_phone"
android:drawableLeft="@drawable/ic_signin_phone"/>
</RelativeLayout>
我还没有尝试过你的第二个查询。但由于代码是开源的,你可以看看它 - Digits on GitHub。这个存储库还有一个值得一看的示例。
自定义 DigitsAuthButton 按钮的最简单方法如下:
- 创建一个新的背景图片并将其命名为 dgts__digits_btn.png ==> 这将替换 digiAuth 按钮的背景图片。
- 通过在 dimens.xml
中添加 tw__login_btn_drawable_padding 属性来更改 DigitsAuthButton 按钮周围的填充
- 通过在 strings.xml
中添加名称为 "dgts__login_digits_text" 的字符串条目来更改默认的 DigitsAuthButton 按钮文本
- 通过在 dimens.xml
中添加 "tw__login_btn_text_size" 来更改文字大小
- DigitsAuthButton 通过添加 "tw__login_btn_right_padding" 和 dimens.xml
来填充按钮
希望对您有所帮助。
我正在研究如何通过以下方式在我的应用中自定义数字:
- 主题:文档显示了如何更改表单的颜色主题,但没有说明如何(如果 possible)更改视图布局或 add/remove 视图元素。我可以更改 DigitsAuthButton 的文本吗?另一个非常重要的示例是更改 android os 后退按钮的功能。
- 流程:我想自定义身份验证流程。例如,当 phone 号码在我的服务器中无效时,Android 用户将被定向到一个新屏幕(不一定是登录 up/create 帐户)。我还想实现自定义错误处理(即确认码不正确时的自定义对话等)
我希望任何有使用 Digits 经验的人提供反馈,看看它是否是我想做的事情的正确工具,如果是的话,我将如何进行这些自定义。
你可以看看Cannonball Sample project,它是开源的。 要更改 DigitsAuthButton 的文本,您可以通过扩展 DigitsAuthButton 添加自定义数字按钮:
public class DigitsRegisterButton extends DigitsAuthButton {
public DigitsRegisterButton(Context c) {
super(c);
init();
}
public DigitsRegisterButton(Context c, AttributeSet attrs) {
super(c, attrs);
init();
}
public DigitsRegisterButton(Context c, AttributeSet attrs, int defStyle) {
super(c, attrs, defStyle);
init();
}
private void init() {
if (isInEditMode()) {
return;
}
setBackgroundResource(R.drawable.digits_button_bg);
// Modifying the text here..
setText(getResources().getString(R.string.digits_register_text));
setTextColor(getResources().getColor(R.color.theme_color));
}
}
然后您可以在布局中使用和自定义它:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.pinchat.pinchat.view.DigitsRegisterButton
android:id="@+id/signup_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/digits_button_bg"
android:text="@string/digits_register_text"
android:textColor="@color/theme_color"
android:textSize="@dimen/digits_register_btn_text"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:drawableStart="@drawable/ic_signin_phone"
android:drawableLeft="@drawable/ic_signin_phone"/>
</RelativeLayout>
我还没有尝试过你的第二个查询。但由于代码是开源的,你可以看看它 - Digits on GitHub。这个存储库还有一个值得一看的示例。
自定义 DigitsAuthButton 按钮的最简单方法如下:
- 创建一个新的背景图片并将其命名为 dgts__digits_btn.png ==> 这将替换 digiAuth 按钮的背景图片。
- 通过在 dimens.xml 中添加 tw__login_btn_drawable_padding 属性来更改 DigitsAuthButton 按钮周围的填充
- 通过在 strings.xml 中添加名称为 "dgts__login_digits_text" 的字符串条目来更改默认的 DigitsAuthButton 按钮文本
- 通过在 dimens.xml 中添加 "tw__login_btn_text_size" 来更改文字大小
- DigitsAuthButton 通过添加 "tw__login_btn_right_padding" 和 dimens.xml 来填充按钮
希望对您有所帮助。