Web组件设置WebLayoutMode.FIT_CONTENT自适应网页布局实例
一、配置route_map.json,增加下面内容
{
"name": "WebCommponetPage",
"pageSourceFile": "src/main/ets/pages/WebCommponetPage.ets",
"buildFunction": "WebCommponetPageBuilder",
"data": {
"description": "this is WebCommponetPage"
}
}
二、在pages目录新建一个WebCommponetPage.ets文件,文件内容如下 :
import { webview } from '@kit.ArkWeb';
/**
* Author:bolou
* Creat time:2026/2/12 14:32
* Describe:Web组件设置WebLayoutMode.FIT_CONTENT自适应网页布局实例
*/
@Builder
export function WebCommponetPageBuilder() {
WebCommponetPage();
}
@Entry
@Component
struct WebCommponetPage {
@State isShow: boolean = false;
webviewController: webview.WebviewController = new webview.WebviewController();
pathStack: NavPathStack = new NavPathStack();
build() {
NavDestination() {
Column() {
Text('Web组件设置WebLayoutMode.FIT_CONTENT自适应网页布局实例')
.fontSize(16)
Web({ src: $rawfile('index.html'), controller: this.webviewController })
.onPageEnd(() => {
this.isShow = true
console.info('reader onPageEnd')
})
.width('100%')
.height(this.isShow ? '100%' : '10%')
.visibility(this.isShow ? Visibility.Visible : Visibility.Hidden)
.layoutMode(this.isShow ? WebLayoutMode.FIT_CONTENT : WebLayoutMode.NONE)
}
.width('100%')
.height('100%')
.justifyContent(FlexAlign.Start)
.padding(16)
}
.hideTitleBar(true)
.onReady((context: NavDestinationContext) => {
this.pathStack = context.pathStack;
})
}
}上面的核心是:layoutMode(this.isShow ? WebLayoutMode.FIT_CONTENT : WebLayoutMode.NONE),是它负责自适应网页布局的.
三.在 Index.ets文件中随便找个元素,加入点击功能即可
Text("点我进web自适用布局 ")
.onClick(() => {
this.pathStack.pushPathByName('WebCommponetPage', null);
})好了,就这么简单.
浏览82 编辑于2026-02-12 07:15上海
全部评论
最多点赞
最新发布
最早发布
暂无评论
写回答
所见即所得编辑器, editor1
工具栏
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
- 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
- 如您发布的内容为转载内容,请注明内容来源。
我要发帖子
了解社区公约,与您携手共创和谐专业的开发者社区。





































苏公安网备 32011402010933号