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

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

鸿蒙的WebView会遮挡其他控件问题-鸿蒙HarmonyOS技术社区

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

可以考虑去掉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
爱吃土豆丝的打工人

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

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

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

-----

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

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

分享
微博
QQ
微信
回复
2021-09-13 14:37:32
相关问题
关于WebView报空指针问题
1018浏览 • 1回复 待解决
关于WebView提示没有用户手势问题
2589浏览 • 1回复 待解决
鸿蒙OS无法关联启动其他应用。
704浏览 • 1回复 待解决
其他车型可以改装鸿蒙吗?
1171浏览 • 1回复 待解决
鸿蒙js开发影响其性能吗?
5529浏览 • 3回复 待解决
鸿蒙怎么实现UI控件样式复用 ?
1718浏览 • 3回复 待解决
鸿蒙系统可以兼容其他手机吗?
3374浏览 • 2回复 已解决
鸿蒙中有没有载入框控件?
722浏览 • 1回复 待解决
怎么跳转打开其他app
1621浏览 • 1回复 待解决
HarmonyOS支持其他开发板吗?
7297浏览 • 4回复 待解决
请问Image控件是怎样设置网络图片
3919浏览 • 3回复 已解决
请问鸿蒙可以用什么控件开发短视频
2450浏览 • 1回复 待解决
鸿蒙WebView 层级 总是处于最外层
1795浏览 • 3回复 待解决
鸿蒙Webview加载Url,alipay无法返回
1190浏览 • 1回复 待解决
Java Text控件,如何设置字间距?
442浏览 • 1回复 待解决