У меня есть RecyclerView с каждым итемом, у которого есть WebView и TextView ниже веб-просмотра, чтобы показать меньше / показать больше веб-просмотра.Если у моего веб-просмотра будет height < 100dp
, то текст showless/showmore
будет GONE
, а когда высота веб-просмотра> = 100dp, текст станет видимым.Когда высота веб-просмотра> = 100dp, мне нужно установить максимальную высоту, чтобы она составляла 100dp, и нажмите showless/showmore
, чтобы развернуть и свернуть высоту.Мое решение - подождать, когда вызов webview onPageFinished
получит высоту просмотра веб-страницы и сверится с моим делом, но мое решение не очень хорошее.Когда я дождусь окончания просмотра веб-страницы и обновлю LayoutParams для ItemView в ViewHolder, он будет jump item
.Поэтому я меняю решение с помощью собственного веб-просмотра и использовал
@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 в GONE и Visiable мой TextView showlesss / showmore и как я могу уведомитьChangeData, чтобы показать / скрыть мой TextView?Большое спасибо и извините за мой английский.