自定义控件之侧边滚动TextView

看到直播当中左侧边有字体一滑一滑的就感兴趣了,自己做了一个

效果图:

BUG:目前动画播放有些问题
9ec3d6f788a94842d65e8dd8493f916.jpg
20190523_093903.gif

关于字体的大小测量

每个字体的大小 * 多少个字 = 总字体长度 (字母和数字一般比汉字小1/2)

代码:

 /**
     * 计量文字总宽度
     *
     * @param content
     */
    private void calculateString(String content) {


        char[] chars = content.toCharArray();

        int temp = 0;

        for (int i = 0; i < chars.length; i++) {

            //判断是否是 a-z
            if (chars[i] > 'a' && chars[i] < 'z') {
                temp += (textFontSize / 2);
                continue;
            }
            //判断是否是 A-Z
            if (chars[i] > 'A' && chars[i] < 'Z') {
                temp += (textFontSize / 2);
                continue;
            }
            //判断是否是 0-9
            if (chars[i] > '0' && chars[i] < '9') {
                temp += (textFontSize / 2);
                continue;
            }
            temp += textFontSize;

        }
        textSizeWidth = temp;

    }

使用:

  slidingTextView.setText("文字");
   slidingTextView.accAnimation();

动画是使用滚动器(Scroller) + Handler实现的

代码:https://github.com/hanxinhao000/TextViewApp/tree/master

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容