开发 .json 文件
小程序页面可以使用 .json 文件来对本页面的窗口表现进行配置。
页面的配置只能设置 app.json 中部分 window 配置项的内容,页面中配置项会覆盖 app.json 的 window 中相同的配置项。
配置示例
代码示例
{
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"navigationBarTitleText": "智能小程序接口功能演示",
"backgroundColor": "#eeeeee",
"backgroundTextStyle": "light"
}
页面配置项列表
属性 | 类型 | 默认值 | 描述 | 最低版本 |
---|---|---|---|---|
navigationBarBackgroundColor | HexColor | #000000 | 导航栏背景颜色,如 #000000 | |
navigationBarTextStyle | String | white | 导航栏标题颜色,有效值 black / white | |
navigationBarTitleText | String | 导航栏标题文字内容 | ||
navigationStyle | String | default | 导航栏样式,有效值:default(默认样式) custom(自定义导航栏),只保留右上角胶囊按钮,在页面级配置优先级高于全局配置 | iOS 基础库版本 3.0.39,Android 基础库版本 2.10.34 |
backgroundColor | HexColor | #ffffff | 窗口的背景色 | |
backgroundTextStyle | String | dark | 下拉 loading 的样式,有效值 dark / light | |
backgroundColorTop | HexColor | #ffffff | 顶部窗口的背景色,仅 iOS 支持 | |
backgroundColorBottom | HexColor | #ffffff | 底部窗口的背景色,仅 iOS 支持 | |
enablePullDownRefresh | Boolean | false | 是否全局开启下拉刷新。详见 Page.onPullDownRefresh | |
onReachBottomDistance | Number | 50 | 页面上拉触底事件触发时距页面底部距离(单位:px)。详见 Page.onReachBottom | |
disableScroll | Boolean | false | 设置为 true 则页面整体不能上下滚动。只在页面配置中有效,无法在 app.json 中设置 | Android 暂不支持 |
说明:
- 页面的 .json 只能设置 window 相关的配置项,以决定本页面的窗口表现,所以无需写 window 这个键;
- navigationStyle 全局配置
Android
和iOS
从基础库版本 2.10.34 开始支持, 但子页面配置支持情况Android
从基础库版本2.10.34
开始支持,iOS
从基础库版本 3.0.39
开始支持, 做低版本兼容时,通过 swan.getSystemInfo 或者 swan.getSystemInfoSync 获取百度 APP 版本号进行兼容判断,具体见下表; - 无其它特殊说明,请使用
SWAN基础库版本
进行兼容判断。
navigationStyle 配置
当
swanNativeVersion>=2.28.0
时,小程序框架将回收二级页面(非首页 / 非 Tab 页)左上角返回按钮的自定义权限。在小程序二级页面使用自定义导航栏时,小程序框架将提供统一的返回按钮控制方案。详情请参考非兼容性升级。
顶 bar 设置 | iOS | Android | WebView 组件页面 | 备注 |
---|---|---|---|---|
百度 APP 定义的顶 bar | 无版本限制 | 无版本限制 | 无版本限制 | |
顶 bar 全局透明设置 | 基础库版本 2.10.34 | 基础库版本 2.10.34 | 不生效 | |
顶 bar 子页面透明设置 | 基础库版本 3.0.39 | 基础库版本 2.10.34 | 不生效 | 每个 page 的 json 文件可以单独配置 navigationStyle |
适配提示
原生顶 bar 高度 = 状态栏高度(statusBarHeight)+ 顶部导航栏高度(navigationBarHeight);可通过 swan.getSystemInfo 或者 swan.getSystemInfoSync 获取。