donkingliang / LabelsView

Android的标签列表控件。可以设置标签的选中效果。 可以设置标签的选中类型:不可选中、单选、限数量多选和不限数量多选等, 并支持设置必选项、单行显示、最大显示行数等功能。
Apache License 2.0
1.02k stars 157 forks source link

4个元素时候,onMeasure 的判断有问题,导致只显示3个。 #7

Closed Wanchen7 closed 6 years ago

Wanchen7 commented 6 years ago

传入4个label

2018-03-21 2 21 47

maxWidth 正好等于 lineWidth + view.getMeasuredWidth() 。没有显示最后一个

JuanTop commented 6 years ago

这个算法有点问题,onMeasure 和 onLayout 的结果不一样导致出现少行的情况,你要在 onMeasure 里面把if (!begin) { lineWidth += mWordMargin; } else { begin = false; }这个移到判断条件前面来,如果不是第一个,先把间隔宽度加上,不然到一行末尾就有可能会出现测量结果出现错误。

donkingliang commented 6 years ago

感谢反馈问题。这个问题的确是我疏忽了,现在已经改正。谢谢!

DuoQing666 commented 5 years ago

1.4.6 还有这个问题呢。。我现在就是 布局显示少一行数据。。 很明显的高度计算不太对。 @donkingliang