看到直播当中左侧边有字体一滑一滑的就感兴趣了,自己做了一个
效果图:
BUG:目前动画播放有些问题
关于字体的大小测量
每个字体的大小 * 多少个字 = 总字体长度 (字母和数字一般比汉字小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实现的