我使用多个Web视图并将其添加到布局中,我的结构就像这样
线性布局
|
| ---------------- |
Webview
| ---------------- |
Webview
| ---------------- |
Webview
| ---------------- |
我想为weview设置最小高度,以便所有单元格看起来都相似。
我试过
setMinimumHeight(int minHeight)
但它不起作用。我也检查了
cellLayout.addView(mWebview, new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 80));
它完全正常,但它限制值为80。
如果HTML内容超过大小,则会显示滚动。
所以我正在寻找最小高度,所以如果内容超过最小高度,它会自动扭曲内容。
如何设置WebView的最小高度?
答案 0 :(得分:0)
您可以使用以下代码进行试用。
您可以将以下内容放在WebView的onPageFinished
事件中,它可以帮助我在加载html内容后修复对话框高度。
public void onPageFinished(WebView view, String url) {
....
webView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (webView.getHeight() < currentHeight) {
currentHeight = webView.getHeight();
}
final LayoutParams params = webView.getLayoutParams();
params.height = currentHeight;
webView.setLayoutParams(params);
return false;
}
});
}
答案 1 :(得分:0)
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int height = getMeasuredHeight();
int parentHeight = 0;
if (getParent() != null && getParent() instanceof ViewGroup) {
parentHeight = ((ViewGroup) getParent()).getHeight();
}
if (height < parentHeight) {
setMeasuredDimension(getMeasuredWidth(), parentHeight);
}
}
我遇到了同样的问题,我解决了这个问题。希望它可以帮到你。您只需要在WebView中覆盖onMeasure函数,并将parentHeight替换为您需要的最小高度。