您可以在多大程度上自定义 Fabric 的 Digits 在 Android 上的流程、外观和感觉?

Posted

技术标签:

【中文标题】您可以在多大程度上自定义 Fabric 的 Digits 在 Android 上的流程、外观和感觉?【英文标题】:To what extent can you customize the flow, look and feel of Fabric's Digits on Android? 【发布时间】:2015-09-18 18:22:46 【问题描述】:

我正在研究如何通过以下方式在我的应用中自定义数字:

    主题:文档显示如何更改表单的颜色主题,但没有显示如何(如果可能)更改视图布局或添加/删除视图元素。我可以更改 DigitsAuthButton 的文本吗?另一个非常重要的示例是更改 android 操作系统后退按钮的功能。 流程:我想自定义身份验证流程。例如,当我的服务器中的电话号码无效时,Android 用户将被定向到新屏幕(不一定是注册/创建帐户)。我还想实现自定义错误处理(即确认码不正确时的自定义对话等)

我希望任何有使用 Digits 经验的人就它是否是我想做的正确工具以及如果是,我将如何处理这些自定义提供反馈。

【问题讨论】:

【参考方案1】:

您可以查看Cannonball Sample project,它是开源的。 要更改 DigitsAuthButton 的文本,您可以通过扩展 DigitsAuthButton 添加自定义的 Digits 按钮:

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_
    android:layout_>

    <com.pinchat.pinchat.view.DigitsRegisterButton
        android:id="@+id/signup_button"
        android:layout_
        android:layout_
        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 的情况下使用数字?例如,如果用户未登录,是否自动启动数字登录过程? 我认为你可以这样做.. 我这样做:final Session activeSession = Digits.getSessionManager().getActiveSession(); 这样你就可以检查用户是否已经通过 Digits 的身份验证。这在炮弹示例源代码中也有说明。【参考方案2】:

自定义 DigitsAuthButton 按钮的最简单方法如下:

    创建一个新的背景图像并将其命名为 dgts__digits_btn.png ==> 这将替换 digiAuth 按钮的 bg 图像。 通过在 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 来填充按钮

希望这会有所帮助。

【讨论】:

以上是关于您可以在多大程度上自定义 Fabric 的 Digits 在 Android 上的流程、外观和感觉?的主要内容,如果未能解决你的问题,请参考以下文章

Selenium WebDriver:我可以在多大程度上依赖 JavaScript?

给出 SIGTERM 后,在多大程度上可以依赖写入磁盘?

PostgreSQL 在多大程度上支持并行 DDL?

ImageMagick 在将 PSD 文件转换为 GIF、PNG、JPG 文件时可以在多大程度上保留剪切路径?

损失函数

超级账本Fabric的块和交易大小