我正在尝试使用Anko库以编程方式创建RecyclerView
项,并且我想在一个RelativeLayout
中完成所有工作以取得最佳性能。
我的商品的标题应为match_parent
,但不应覆盖标志标记(hasImportantMessages
)或右边的数字(issues counter
),因此我正在使用调整RelativeLayout
规则的代码:
with(tvTitle.layoutParams as RelativeLayout.LayoutParams) {
removeRule(START_OF)
removeRule(ALIGN_PARENT_END)
when {
hasImportantMessages -> addRule(START_OF, R.id.iv_important_messages)
issueCounter > 0 -> addRule(START_OF, R.id.tv_issues_counter)
else -> addRule(ALIGN_PARENT_END)
}
}
当RecyclerView创建第一个可见的ViewHolders时,一切都很好,但是当我向下滚动一点时,RecyclerView开始重新使用它的支架时,我遇到了一些问题,请查看以下屏幕截图。
如您所见,RelativeLayout规则无法正常运行。标题textView与标记标记重叠或发出计数器textView。也许我应该以某种方式invalidate()
,但我已经尝试过-不起作用。
答案 0 :(得分:0)
您在更新规则后尝试使用updateViewLayout
吗?