2

我正在使用多个 Web 视图并将其添加到布局中,我的结构是这样的

线性布局
|
|----------------|
   网页浏览
|----------------|
   网页浏览
|----------------|
   网页浏览
|----------------|

我想为 weview 设置最小高度,以便所有单元格看起来都相似。

我试过了

setMinimumHeight(int minHeight)

但它不起作用。我也检查过

cellLayout.addView(mWebview, new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 80));

它工作得很好,但它的值限制为 80。

如果 HTML 内容大于大小,那么它将显示滚动。

所以我正在寻找最小高度,所以如果内容超过最小高度,它会自动扭曲内容。

如何设置 WebView 的最小高度?

4

2 回答 2

0

您可以使用以下代码进行尝试。您可以将以下内容放在onPageFinishedWebView 的事件中,它为我完成了在加载 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;
      }
    });
}
于 2013-01-09T13:03:00.823 回答
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 替换为您需要的最小高度。

于 2015-08-24T07:31:48.303 回答