在列表中,item高度为wrap_content的时候,icon_with_text会异常,一直重绘高度。
wangshouz opened this issue · 6 comments
wangshouz commented
页面会一直不停拉升。
wangshouz commented
我感觉是这个计算高度的时候有问题。如果设置了左右icon,还需要判断text的内容高度跟左右icon的高度,不然在左右icon高度大于文字内容高度的时候会导致translateY的计算会有问题,然后导致后续的setPadding会使得mView的高度变高,在调用 invalidate()使得paddingStr.equals(mCacheMultipleIconPaddingVale)一直不成立。
public float getTextHeight(TextView view, int drawableHeight, int paddingTop, int paddingBottom, int drawablePaddingVertical, int iconHeightLeft, int iconHeightRight) {
if (view == null) return 0;
/**
* 1.单行高度*行数
* 2.最大高度临界值
*/
Paint.FontMetrics fontMetrics = view.getPaint().getFontMetrics();
float singleLineHeight = Math.abs((fontMetrics.bottom - fontMetrics.top));//单行高度
float textHeight = singleLineHeight * view.getLineCount();
if (textHeight < iconHeightLeft) {
textHeight = iconHeightLeft;
}
if (textHeight < iconHeightRight) {
textHeight = iconHeightRight;
}
//最大高度临界值,不允许超过最大高度临界值
int maxHeight = view.getHeight() - drawableHeight - paddingTop - paddingBottom - drawablePaddingVertical;//最大允许的宽度
if (textHeight > maxHeight) {
textHeight = maxHeight;
}
return textHeight;
}
UserName-Haha commented
遇到同样的问题
UserName-Haha commented
必现:只要是小米设备更换字体后且使用了icon就会出现
RuffianZhong commented
v0.0.14 版本已经修复此问题,升级版本可以解决
scsfwgy commented
@RuffianZhong 这个仍然有问题,麻烦看一下
jasonvzhao commented
问题依然存在,小米手机