android – 随着HTML内容的变化,动态降低WebView对话的高度,……或修复高度

我有一个DialogFragment(显示为对话框),其布局包含一个WebView控件.

布局设置为wrap_content.我正在使用平板电脑,并希望显示为对话框,但不希望高度与屏幕的高度相匹配.

Web视图显示在构建时定义的HTML内容.

HTML包含可以隐藏和显示内容的链接(隐藏/显示’divs’).

当我点击链接展开它们时,对话框的高度随着内容的显示而增加.

但是,当我折叠条目时,对话框的高度不会收缩.

我的偏好是在内容加载后修复对话框的高度.如果内容被隐藏,则无法使对话框的高度降低.

彼得,先谢谢你.

最佳答案 简单试试

尝试使invalidate();在onClickListener中

yourWebView.setOnTouchListener(new OnTouchListener() { 
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
        // TRY to invalidate();

        // Try to setVisibility(View.GONE); then directly (View.VISIBLE)      
        return false;
    } 
});

更难的东西

>浏览WebView的源代码
>跟随点击的执行(我相信你应该从loadUrl()开始)
>尝试触及显示div时导致WebView变大的点

在那里,当div消失时,你可能会找到一种模仿这种行为的方法

点赞