美文网首页GitHub上有趣的资源AndroidAndroid
Android开发中所积累的一些自定义控件和工具

Android开发中所积累的一些自定义控件和工具

作者: Thomas__Yang | 来源:发表于2017-08-02 12:32 被阅读336次

    作为一个菜鸟写这个Tools前我就一直在想,我们自己的项目中有很多很棒的工具类和一些自定义的View,而这些View或者工具类在网上或有或没,既然他们懒得弄或者不屑弄,那好吧我来整理吧。也就是基于这个原因我开始创建并且维护这个库,我所希望的是这个库能帮助到一部分Android初级的开发人员,也希望每一个看到 AndroidCodeTools
    这个库的码神们,能多多的 Pull 你们开发中所遇到的优秀的工具类或者自定义View。

    AndroidCodeTools (持续更新...)

    GitHub:https://github.com/Pgrammerybj/AndroidCodeTools

    分类

    • Android工具类
    • Android自定义控件
    • Android自定义动画

    Android工具类

    1.之前在网上看到很多人遇到过在一个TextView是实现类似于Html中的超文本点击跳转的效果,正好这次项目中正好也有这个需求,然后自己也就利用SpannableStringBuilder撸了一个工具类。当然网上也有跟多不错的实现方式,我就不在这儿累赘了,大家一起交流咯。

    setTextViewHyperlink(TextView textView,String content,int textColor,int start1,int end1, OnTextViewhyperlinkOnClickListener listener))

    • @param textView 文本控件
    • @param content 内容
    • @param textColor需要响应点击事件文本的颜色
    • @param start1 可点击文本1的开始角标
    • @param end1 可点击文本1的结束角标
    • @param start2 可点击文本2的开始角标(可选)
    • @param end2 可点击文本2的结束角标(可选)
    • @param listener 超链接点击监听
          TextView hyperTextOne = (TextView) findViewById(R.id.tv_user_protocol_1);
                //一个文本链接
                UIUtilsView.setTextViewHyperlink(hyperTextOne,
                        getString(R.string.information_002),
                        getResources().getColor(R.color.defaultLinkText), 9, 17,
                        new UIUtilsView.OnTextViewhyperlinkOnClickListener() {
                            @Override
                            public void onClick(String text) {
                             // FIXME: 2017/8/2 这里能获得到你点击事件,后续逻辑如何自己看需求哈
                             // text :这个text就是你所点击的文字
                            }
                        }
                );
    

    ⬆️上面是TextView文本中有一个点击事件的调用方式

     TextView hyperTextTwo = (TextView) findViewById(R.id.tv_user_protocol_2);
            //两个文本链接
            UIUtilsView.setTextViewHyperlink(hyperTextTwo,
                    getString(R.string.information_001),
                    getResources().getColor(R.color.defaultLinkText), 7, 15, 16, 28,
                    new UIUtilsView.OnTextViewhyperlinkOnClickListener() {
                        @Override
                        public void onClick(String text) {
                            // FIXME: 2017/8/2 有人说不对啊我这儿有两个点击事件啊,
                            // 对的两个点击事件都走这一个监听,那么如何区分呢,就靠您的 text 字符串equles咯
    
                        }
                    }
            );
    

    ⬆️上面是TextView文本中有多个点击事件的调用方式


    (怎么效果图没有动画?哈哈不要捉急,稍微等一下咯)


    总结一下吧:目前是获取相应需要有点击事件和变色的文本的角标来实现的,还是有些许麻烦,望广大朋友给点儿优化意见和建议。

    Android自定义控件

    1. 自定义密码、验证码输入框,类似于支付、微信支付的密码输入界面
     VerifyCodeView.setInputFinishListener(new VerifyCodeView.InputFinishListener() {
                @Override
                public void inputFinish(String strCode) {
                      //密码输入完成,做你想做的
                }
            });
    
    自定义验证码输入框

    Android自定义动画

    致谢

    • 感谢廖子尧(jeasonlzy)在开发中提出的帮助和建议(欢迎关注他的开源项目okhttp-OkGo

    相关文章

      网友评论

        本文标题:Android开发中所积累的一些自定义控件和工具

        本文链接:https://www.haomeiwen.com/subject/ebvelxtx.html