鸿蒙的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
相关问题
关于sidebar侧边栏遮挡导航栏问题
319浏览 • 1回复 待解决
关于软键盘弹出遮挡问题
1090浏览 • 1回复 待解决
使用TextPicker控件显示异常问题
740浏览 • 1回复 待解决
HarmonyOS web控件执行多次问题
334浏览 • 1回复 待解决
HarmonyOS Tabs控件fadingEdge问题
243浏览 • 1回复 待解决
Tab控件切换问题有哪些?
165浏览 • 1回复 待解决
HarmonyOS RelativeContainer子控件显示问题
253浏览 • 1回复 待解决
HarmonyOS scroll 内控件布局问题
180浏览 • 1回复 待解决
webview 问题有哪些?
168浏览 • 1回复 待解决
图片与视频编辑控件问题
166浏览 • 1回复 待解决
HarmonyOS 控件多指触摸问题
304浏览 • 1回复 待解决
关于WebView报空指针问题
6774浏览 • 1回复 待解决
WebView层级问题有知道吗?
5224浏览 • 1回复 待解决
鸿蒙webview加载优化
847浏览 • 1回复 待解决
JS 获取控件位置并动态赋值问题
3873浏览 • 1回复 待解决
HarmonyOS webview打开地址问题
109浏览 • 1回复 待解决