鸿蒙的WebView会遮挡其他控件问题

我的资源配置是这样的。只要webview的高度比scrollview的高度高,则会覆盖下面的button,这是系统bug还是我配置问题?

鸿蒙的WebView会遮挡其他控件问题-鸿蒙开发者社区

webview
遮挡
层级
2021-09-08 16:57:58
浏览
收藏 1
回答 3
待解决
回答 3
按赞同
/
按时间
红叶亦知秋
3

可以考虑去掉Scrillview看一下

代码如下

<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    ohos:height="match_parent"
    ohos:width="match_parent"
    ohos:orientation="vertical">
    <ohos.agp.components.webengine.WebView
        ohos:id="$+id:webview"
        ohos:height="0fp"
        ohos:weight="1"
        ohos:width="match_parent">
    </ohos.agp.components.webengine.WebView>
    <Text
        ohos:height="100fp"
        ohos:width="match_parent"
        ohos:background_element="$color:blue"
        ohos:text="tetxtx"
        ohos:text_size="24vp"
        ohos:text_alignment="center"/>



</DirectionalLayout>
package com.example.jsdemo.slice;

import com.example.jsdemo.ResourceTable;
import com.example.jsdemo.utils.HiLogUtils;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.webengine.*;
import ohos.media.image.PixelMap;

public class WebviewSlice extends AbilitySlice {
    private static final String EXAMPLE_URL = "https://main.m.taobao.com/";
    @Override
    protected void onStart(Intent intent) {
        super.onStart(intent);
        setUIContent(ResourceTable.Layout_webview_slice);
        WebView webView = (WebView) findComponentById(ResourceTable.Id_webview);
        WebConfig webConfig = webView.getWebConfig();
        webConfig.setJavaScriptPermit(true);
        webConfig.setWebStoragePermit(true);
        webConfig.setDataAbilityPermit(true);
        webConfig.setLoadsImagesPermit(true);
        webConfig.setMediaAutoReplay(true);
        webConfig.setLocationPermit(true);
        webConfig.setSecurityMode(WebConfig.SECURITY_SELF_ADAPTIVE);
        webView.setWebAgent(new WebAgent() {
            @Override
            public void onLoadingPage(WebView webview, String url, PixelMap favicon) {
                super.onLoadingPage(webview, url, favicon);
                // 页面开始加载时自定义处理
                HiLogUtils.PrintLog("onLoadingPage======>>>");
            }

            @Override
            public void onPageLoaded(WebView webview, String url) {
                super.onPageLoaded(webview, url);
                // 页面加载结束后自定义处理
                HiLogUtils.PrintLog("onPageLoaded======>>>");
            }

            @Override
            public void onLoadingContent(WebView webview, String url) {
                super.onLoadingContent(webview, url);
                // 加载资源时自定义处理
                HiLogUtils.PrintLog("onLoadingContent======>>>");
            }

            @Override
            public void onError(WebView webview, ResourceRequest request, ResourceError error) {
                super.onError(webview, request, error);
                // 发生错误时自定义处理
                HiLogUtils.PrintLog("onError======>>>"+error.getInfo());
            }
        });
        webView.load(EXAMPLE_URL);
    }
}

 

效果如图所示

 

答案引用于:华为开发者联盟开发者支持团队

已于2021-9-10 15:04:02修改
分享
微博
QQ
微信
回复
2021-09-10 15:03:08
爱吃土豆丝的打工人
1

把你的button的高度固定了,然后在scrollview外部加一个DirectionlLayout高度比例设为1  然后你上面的webView就不会遮挡住你的button按钮

分享
微博
QQ
微信
回复
2021-09-10 09:50:29
没用的喵叔
1

建议代码部分不要截图,直接贴代码(论坛的编辑器支持显示代码)。这样方便小伙伴验证问题。

-----

1. 没有跑代码,我估计是你配置的问题,ScrollView+DirectionalLayout,一般情况要把`DirectionalLayout`的高度设置成包裹内容`ohos:height="match_content"`,你这样设置试一试

2. 鸿蒙的WebView确实会遮挡其他控件,但不是在这种布局。在DependentLayout或StackLayout中使用WebView会遮挡其它控件。

分享
微博
QQ
微信
回复
2021-09-13 14:37:32
相关问题
关于WebView报空指针问题
4794浏览 • 1回复 待解决
WebView层级问题有知道吗?
3390浏览 • 1回复 待解决
JS 获取控件位置并动态赋值问题
1946浏览 • 1回复 待解决
关于WebView提示没有用户手势问题
8387浏览 • 1回复 待解决
鸿蒙webview如何去除默认白色背景?
2525浏览 • 1回复 待解决
鸿蒙webview 崩溃怎么处理?
4213浏览 • 1回复 待解决
鸿蒙js开发影响其性能吗?
10874浏览 • 3回复 待解决
鸿蒙OS无法关联启动其他应用。
6790浏览 • 1回复 待解决
鸿蒙中有没有载入框控件?
3745浏览 • 1回复 待解决
请问下鸿蒙webview如何设置请求头?
4286浏览 • 1回复 待解决
鸿蒙怎么实现UI控件样式复用 ?
5758浏览 • 3回复 待解决
其他车型可以改装鸿蒙吗?
3487浏览 • 1回复 待解决
这句sql导致并发出问题吗 ?
693浏览 • 1回复 待解决
鸿蒙Webview加载Url,alipay无法返回
7157浏览 • 1回复 待解决
如何控制软键盘弹出对页面的遮挡
883浏览 • 1回复 待解决
鸿蒙WebView 层级 总是处于最外层
5560浏览 • 3回复 待解决
鸿蒙系统可以兼容其他手机吗?
7268浏览 • 2回复 已解决
鸿蒙webview 上面无法放其它组件。
4026浏览 • 3回复 待解决