mui H5+实现原生导航栏配置

news/2025/2/12 8:16:28/
// 定义详情页
var detail = null
// 定义原始导航配置变量
var titleNView = { //详情页原生导航配置backgroundColor: '#F7F7F7', //导航栏背景色titleText: '', //导航栏标题titleColor: '#000000', //文字颜色type: 'transparent', //透明渐变样式autoBackButton: true, //自动绘制返回箭头splitLine: { //底部分割线color: '#cccccc'}
}// 预加载详情页detail
var detail = mui.preload({url:'detail.html',id:'detail',styles:{"titleNView": titleNView},//窗口参数extras:{}//自定义扩展参数
})function openDetail(id) {mui.fire(detail,'detail',{detailID: id})titleNView.titleText = '详情测试页'detail.setStyle({'titleNView': titleNView})setTimeout(function() {detail.show();}, 150);
}

打开带原生导航栏的新页面

 

mui.openWindow({url: webviewUrl,id: webviewId,styles: {                             // 窗口参数 参考5+规范中的WebviewStyle,也就是说WebviewStyle下的参数都可以在此设置titleNView: {                       // 窗口的标题栏控件titleText:"标题栏",                // 标题栏文字,当不设置此属性时,默认加载当前页面的标题,并自动更新页面的标题titleColor:"#000000",             // 字体颜色,颜色值格式为"#RRGGBB",默认值为"#000000"titleSize:"17px",                 // 字体大小,默认17pxbackgroundColor:"#F7F7F7",        // 控件背景颜色,颜色值格式为"#RRGGBB",默认值为"#F7F7F7"progress:{                        // 标题栏控件的进度条样式color:"#00FF00",                // 进度条颜色,默认值为"#00FF00"  height:"2px"                    // 进度条高度,默认值为"2px"         },splitLine:{                       // 标题栏控件的底部分割线,类似borderBottomcolor:"#CCCCCC",                // 分割线颜色,默认值为"#CCCCCC"  height:"1px"                    // 分割线高度,默认值为"2px"}}}
});

 WebviewTitleNViewStyles

窗口标题栏控件样式

说明:

标题栏控件固定高度为44px,可通过Webview窗口对象的getTitleNView方法获取标题栏原生控件对象plus.nativeObj.View,调用其方法绘制自定义内容。 可以通过WebviewObject对象的setStyle方法传入titleNView属性更新样式,如wobj.setStyle({titleNView:{titleColor:'#FF0000'}})。

属性:

  • autoBackButton: (Boolean 类型 )标题栏控件是否显示左侧返回按钮

    可取值: "true" - 显示返回按钮; "false" - 不显示返回按钮。 默认值为"false"。 返回按钮的颜色为窗口标题文字颜色,按下时颜色自动调整透明度为0.3。 点击返回按钮的逻辑与按下系统返回键逻辑一致。

  • backButton: (WebviewTitleNViewBackButtonStyles 类型 )标题栏控件的返回按钮的样式

    当autoBackButton设置为true时生效。 通过此属性可自定义返回按钮样式,如图标大小、红点、角标、标题等。
    注意:HBuilderX2.6.3+版本支持。

  • backgroundColor: (String 类型 )标题栏控件的背景颜色

    颜色值格式为"#RRGGBB",如"#FF0000"表示为红色背景; "rgba(R,G,B,A)",如rgba(255,0,0,0.5)表示半透明红色背景。 默认值为"#F7F7F7"。

  • backgroundImage: (String 类型 )设置标题栏的背景图

    支持以下类型: 背景图片路径 - 如"./img/t.png",仅支持本地文件路径, 相对路径,相对于当前页面的host位置,根据实际标题栏宽高拉伸绘制; 渐变色 - 仅支持线性渐变,两种颜色的渐变,如“linear-gradient(to top, #a80077, #66ff00)”, 其中第一个参数为渐变方向,可取值: "to right"表示从左向右渐变, “to left"表示从右向左渐变, “to bottom"表示从上到下渐变, “to top"表示从下到上渐变, “to bottom right"表示从左上角到右下角, “to top left"表示从右下角到左上角。 默认无渐变效果,设置错误格式数据也无渐变效果。
    注意:HBuilderX2.6.3+版本支持。

  • backgroundRepeat: (String 类型 )设置标题栏的背景图平铺方式

    仅在backgroundImage设置为图片路径时有效。 可取值:

    • "repeat" - 背景图片在垂直方向和水平方向平铺
    • "repeat-x" - 背景图片在水平方向平铺,垂直方向拉伸
    • "repeat-y" - 背景图片在垂直方向平铺,水平方向拉伸
    • "no-repeat" - 背景图片在垂直方向和水平方向都拉伸
    默认值为"no-repeat"。
    注意:HBuilderX2.6.3+版本支持。

  • blurEffect: (String 类型 )模糊(毛玻璃)效果

    此效果将会高斯模糊显示标题栏后的内容,仅在type为"transparent"或"float"时有效。 可取值:

    • "dark" - 暗风格模糊,对应iOS原生UIBlurEffectStyleDark效果
    • "extralight" - 高亮风格模糊,对应iOS原生UIBlurEffectStyleExtraLight效果
    • "light" - 亮风格模糊,对应iOS原生UIBlurEffectStyleLight效果
    • "none" - 无模糊效果
    HBuilderX2.4.3+版本支持,默认值为"none"。
    注意:使用模糊效果时应避免设置背景颜色,设置背景颜色可能覆盖模糊效果。

    平台支持

    • Android - ALL (不支持) :

      忽略此属性。

    • iOS - 8.0+ (支持)
  • buttons: (Array[WebviewTitleNViewButtonStyles] 类型 )标题栏上的自定义按钮

    创建的自定义按钮数目不限制,实际应用中建议最多设置4个按钮(包括左侧返回按钮)。 注意:此属性不支持动态修改,仅在创建titleNView时设置有效。

  • coverage: (String 类型 )标题栏控件变化作用范围

    仅在type值为transparent时有效,页面滚动时标题栏背景透明度将发生变化。 当页面滚动到指定偏移量时标题栏背景变为完全不透明。 支持百分比、像素值,默认为'132px'。

  • homeButton: (Boolean 类型 )标题栏控件是否显示Home按钮

    可取值: "true" - 显示Home按钮; "false" - 不显示Home按钮。 默认值为"false"。 Home按钮的颜色为窗口标题文字颜色,按下时颜色自动调整透明度为0.3。 点击Home按钮的逻辑为关闭所有非首页窗口,显示首页窗口。

  • padding: (String 类型 )内边距

    标题栏左右的内边距,单位为px(逻辑像素值),如"10px"表示10逻辑像素值。 默认值为"0px"。

  • padding-right: (String 类型 )右内边距

    标题栏右侧内边距,单位为px(逻辑像素值),如"10px"表示10逻辑像素值。 默认值为"0px",优先级padding-right > padding。

  • padding-left: (String 类型 )左内边距

    标题栏左侧内边距,单位为px(逻辑像素值),如"10px"表示10逻辑像素值。 默认值为"0px",优先级padding-left > padding。

  • progress: (WebviewProgressStyles 类型 )标题栏控件的进度条样式

    设置此属性则在标题栏控件的底部显示进度条,可配置进度条颜色值即高度。 设置此属性值为undefined或null则隐藏进度条。 默认不显示底部进度条。 注意:此属性将废弃,推荐使用WebviewStyles的progress。

  • redDotColor: (String 类型 )标题栏控件上按钮的红点颜色

    可取值: "#RRGGBB"格式字符串,如"#FF0000"表示绘制红色返回键; "rgba(R,G,B,A)",其中R/G/B分别代表红色值/绿色值/蓝色值,正整数类型,取值范围为0-255,A为透明度,浮点数类型,取值范围为0-1(0为全透明,1为不透明),如"rgba(255,0,0,0.5)",表示红色半透明。 默认值为红色。

  • searchInput: (WebviewTitleNViewSearchInputStyles 类型 )标题栏上的搜索框样式
  • splitLine: (WebviewSplitLineStyles 类型 )标题栏的底部分割线

    设置此属性则在标题栏控件的底部显示分割线,可配置颜色值及高度。 设置此属性值为undefined或null则隐藏分割线。 默认不显示底部分割线。
    注意:HBuilderX2.6.6+版本支持。

  • subtitleColor: (String 类型 )副标题文字颜色

    颜色值格式为"#RRGGBB"和"rgba(R,G,B,A)",如"#FF0000"表示标题文字颜色为红色。 默认值与主标题文字颜色一致。
    注意:HBuilderX2.6.6+版本支持。

  • subtitleSize: (String 类型 )副标题文字字体大小

    字体大小单位为像素,如"14px"表示字体大小为14像素,默认值为12像素。
    注意:HBuilderX2.6.6+版本支持。

  • subtitleOverflow: (String 类型 )标题文字超出显示区域时处理方式

    可取值:

    • "clip" - 超出显示区域时内容裁剪
    • "ellipsis" - 超出显示区域时尾部显示省略标记(...)
    默认值为"ellipsis"。
    注意:HBuilderX2.6.6+版本支持。

  • subtitleText: (String 类型 )副标题文字内容

    设置副标后将显示两行标题,副标显示在主标题(titleText)下方。
    注意:HBuilderX2.6.6+版本支持。

  • tags: (Array[plus.nativeObj.ViewDrawTagStyles] 类型 )标题栏上初始自定义绘制内容

    可用于设置自定义绘制图片、矩形区域、文本等内容。 注意:此属性不支持动态修改,仅在创建titleNView时设置有效,如果需要更新绘制内容可根据tags的id调用draw方法操作。

  • titleAlign: (String 类型 )标题对齐方式

    可取值:

    • "center"-居中对齐
    • "left"-居左对齐
    • "auto"-根据平台自动选择(Android平台居左对齐,iOS平台居中对齐)
    注意:HBuilderX2.6.3+版本支持。

  • titleColor: (String 类型 )标题文字颜色

    颜色值格式为"#RRGGBB"和"rgba(R,G,B,A)",如"#FF0000"表示标题文字颜色为红色。 type=transparent时默认值为"#FFFFFF",其它情况默认值为"#000000"。

  • titleIcon: (String 类型 )标题图标

    图标路径如"./img/t.png",相对路径,相对于当前页面的host位置,默认宽高为逻辑像素值"34px"。
    HBuilderX2.6.9+版本支持网络路径(http/https开头的url链接);
    HBuilderX2.6.12+版本支持base64图片。
    注意:要求图片的宽高相同。

  • titleIconRadius: (String 类型 )标题图标圆角

    取值格式为"XXpx",其中XX为像素值(逻辑像素),如"10px"表示10像素半径圆角。 默认值为无圆角。

  • titleIconWidth: (String 类型 )标题图标宽度

    取值格式为"XXpx",其中XX为像素值(逻辑像素),如"10px"表示图标宽度为10像素,图标高度会自动与图标宽度保持一致,默认值为"34px"。
    HBuilderX2.7.6+版本支持设置图标宽度。
    注意:图标在标题栏垂直居中。

  • titleOverflow: (String 类型 )标题文字超出显示区域时处理方式

    可取值: "clip" - 超出显示区域时内容裁剪; "ellipsis" - 超出显示区域时尾部显示省略标记(...)。 默认值为"ellipsis"。

  • titleSize: (String 类型 )标题文字字体大小

    字体大小单位为像素,如"20px"表示字体大小为20像素,默认值为17像素。

  • titleText: (String 类型 )标题文字内容

    在标题栏控件居中(水平和垂直)显示,左右边距为88px,如果文本过长则尾部裁剪(加三个点"...")显示。 当不设置titleText属性或属性值为undefined/null时,使用当前Webview窗口加载页面的标题,并自动同步更新页面的标题。

  • type: (String 类型 )标题栏控件样式

    可取值:

    • "default" - 默认样式,顶部停靠显示,挤压Webview页面内容显示区域
    • "transparent" - 透明样式,顶部沉浸式显示覆盖Webview页面内容,标题栏上内容(除按钮外)全部透明,当页面滚动时透明度逐渐变化,直到不透明显示
    • "float" - 悬浮样式,顶部悬浮显示,标题栏覆盖在Webview上,此时应该设置标题栏背景颜色(backgroundColor)为半透明才能透视到覆盖Webview的内容
    默认值为"default"。
    注意:此属性不支持动态更新。

 


http://www.ppmy.cn/news/106100.html

相关文章

PMP练习题 第二弹

前言:文中类似“有误a”的字样,是作者做题时自己选错的错误答案 1、有误a 一个多阶段项目发起人离开公司,项目文件已获得批准并满足其目标。资源预算已到位。项目经理接下来应该怎么做? A:在离开组织的发起人的主管同…

【测试人员需要知道的事】

目录 1. 测试与调试的区别 2. 什么是需求 3. 测试用例 3.1 什么是测试用例 3.2 为什么要有测试用例 4. BUG 5. 软件的生命周期 6. 开发模型 6.1 瀑布模型 6.2 螺旋模型 6.3 增量、迭代模型 7. 测试模型 7.1 V 模型 7.2 W 模型 8. 软件测试教程 8.1 软件测试的生…

Python网页爬虫代码

网页爬虫是一种自动化程序,可以自动地访问网页并提取其中的信息。它可以用于各种目的,例如搜索引擎的索引、数据挖掘、价格比较、舆情监测等。网页爬虫通常使用编程语言编写,例如Python、Java等。 以下是一个简单的示例,使用 Pyt…

现代化个人博客系统 ModStartBlog v7.4.0 暗黑模式跟随系统,随机博客获取

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场,后台一键快速安装 …

让 Python 真正支持多线程

让 Python 真正支持多线程 Python 诞生至今已经32年了!如今它是 TOBIE 编程语言排行榜 排名第一的语言,被广泛用于各种应用程序的开发。 然而遗憾的是——Python 至今都缺乏对多线程的原生支持。 好消息是 Python 3.12 将引入的“Per-Interpreter GIL”…

迅为国产化RK3588开发板在安防前后端应用解决方案

K3588是瑞芯微推出的一款高性能处理器,针对安防领域的应用具备强大的计算能力和图像处理能力。下面是关于RK3588的安防前后端应用解决方案的介绍: 前端摄像头端: 高清视频采集:利用RK3588处理器的高性能图像处理能力,…

OJ练习第122题——交错字符串

交错字符串 力扣链接:97. 交错字符串 题目描述 给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串: s …

后端返回文件流,前端在线预览excel

<a-modal v-model:visible"excelVisible" title"测试用例" width"90%" :footer"null"><!-- 方式二 --><div class"table-html-wrap" v-dompurify-html"excelData"></div><!-- <div…