我有一个 Lines = 2 的 TextView。如果我设置一个短文本并且只显示 1 行,或者我设置一个较长的文本并且显示 2 行,我会在 TextView 的高度上得到不同的结果。这似乎是 TextView 的 onMeasure 函数的问题。在代码中我可以看到,首先计算布局的高度,然后为每个空行添加行高。 Javadoc 注释如下:
请注意,文本中的标记可能会导致个别行高于或低于此高度,并且布局可能包含额外的第一行或最后一行填充。
这些 TextView 在水平 RecyclerView 中使用,我需要每个列表项具有相同的高度,这就是为什么我将行固定为 2。但显然这并不能使其具有相同的高度。如何解决这个问题?
有关 TextView 的一些额外信息:
要么与 getLineHeight 或 Layout 的计算中未使用 lineheight 有关。或者字体本身的东西。编辑:这绝对是字体的问题,因为 lineheight + robots 不会产生这个问题。
要在 recyclerView 中获得相同的元素高度,您可以使用如下代码:
// 如果需要,设置布局管理器 recyclerView.setLayoutManager();
//强制其具有固定大小 recyclerView.setHasFixedSize(true);