我有一个RecyclerView,每个小组在webview下方都有一个WebView和一个TextView,以显示更少/显示更多的webview。
如果我的Web视图包含height < 100dp
个文本,则showless/showmore
将GONE
;当Webview的高度> = 100dp时,将显示可见文本。
当webview的高度> = 100dp时,我需要将其最大高度设置为100dp,然后单击showless/showmore
来展开和折叠高度。
我的解决方案是等待webview调用onPageFinished
时,我会得到高度的webview并检查我的情况,但是我的解决方案不是很好。当我等待webview完成并在ViewHolder中更新ItemView的LayoutParams时,它将jump item
。
所以我用自定义的webview更改了解决方案并使用了
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int hSize = MeasureSpec.getSize(heightMeasureSpec);
int hMode = MeasureSpec.getMode(heightMeasureSpec);
switch (hMode){
case MeasureSpec.AT_MOST:
heightMeasureSpec = MeasureSpec.makeMeasureSpec(Math.min(hSize, maxHeight), MeasureSpec.AT_MOST);
break;
case MeasureSpec.UNSPECIFIED:
heightMeasureSpec = MeasureSpec.makeMeasureSpec(maxHeight, MeasureSpec.AT_MOST);
break;
case MeasureSpec.EXACTLY:
heightMeasureSpec = MeasureSpec.makeMeasureSpec(Math.min(hSize, maxHeight), MeasureSpec.EXACTLY);
break;
}
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
但是我在这里有问题。如何检测> 100dp的Webview的高度达到“消失”并可见TextView showlesss / showmore,如何通知ChangeData显示/隐藏TextView? 非常感谢您,我的英语很抱歉。