Taro v4框架开发微信小程序(窗口与页面)

窗口与页面的区别

在小程序的开发中,"窗口"和"页面"是两个不同的概念,它们分别代表不同的层级和功能:

  1. 窗口(Window) :指的是小程序的显示区域。在小程序的src/app.config.ts全局配置中,可以设置窗口的一些属性,例如背景色、文字颜色、导航条样式等。

  2. 页面(Page):页面则是小程序内的每一个单独界面,通常对应着小程序的一个功能模块。开发者可以为每个页面设置独立的配置,包括窗口的一些特有样式。页面会在窗口内进行展示,小程序中的导航就是在不同页面间跳转。

设置微信小程序的窗口背景色

要改变窗口的背景色,我们可以在src/app.config.ts文件的window对象中添加backgroundColor属性:

typescript 复制代码
window: {
  // ...
  backgroundColor: '#ccc',
}

这里,背景色被设置成了灰色(#ccc)。

检查背景色变化

在微信开发者工具中预览时,如果未看到背景颜色的变化,这可能是因为页面本身有背景色覆盖了窗口的背景色

开启下拉刷新功能

为了更好地观察窗口背景色,我们可以开启页面的下拉刷新功能。这样当页面下拉时,背景色将在滚动的间隙中展现出来:

typescript 复制代码
window: {
  // ...
  backgroundColor: '#ccc',
  enablePullDownRefresh: true,
}

在微信开发者工具中下拉页面,窗口的灰色背景变得可见。

我们得出结论:页面就像是白色的布一层层叠加在窗口容器上

自定义页面背景颜色

有时候我们希望为小程序页面设置一个特定的背景色。要实现这一点,在Taro框架中我们可以直接通过CSS来修改页面的背景色。

页面级别背景色的CSS设置

在页面的CSS文件中对page选择器设置背景颜色。在页面样式文件中添加以下CSS代码:

scss 复制代码
page {
  background-color: #ccff00; // 您可以根据需求设置为任何颜色代码
}

上述代码中background-color设置了页面的背景颜色为亮黄色(#ccff00)。

在微信开发者工具中查看效果

做出以上更改后,我们在微信小程序开发者工具中预览效果。

自定义微信小程序导航栏样式

我们可以改变导航栏的背景颜色,以及设置导航标题的文字颜色。不过,需要注意的是,导航栏的文字大小是不可更改的。

设置导航栏背景和文字颜色

要修改导航栏的背景颜色,可以在页面的配置文件中使用navigationBarBackgroundColor属性。navigationBarTextStyle属性允许我们选择文字颜色,但仅限于黑色或白色:

javascript 复制代码
export default definePageConfig({
  // ...
  navigationBarBackgroundColor: '#cf0', // 修改导航栏背景颜色为亮黄色
  navigationBarTextStyle: 'white' // 修改导航栏文字颜色为白色
});

使用上述配置后,导航栏将显示为亮黄色背景配上白色文字。

微信开发者工具中的预览效果

将会看到导航条背景颜色和文字颜色已经根据设置进行了改变:

在未来的章节中,我们将讨论如何自定义导航栏。

相关推荐
Younglina10 分钟前
打了3年羽毛球球才发现:我对自己的装备和胜率一无所知
前端·后端
风骏时光牛马18 分钟前
Bash脚本高阶实战与常见报错完整代码案例详解
前端
kartjim21 分钟前
我用 AI 一小时写了一个世界杯数据可视化平台|前端 VibeCoding 初体验
前端·程序员·ai编程
lichenyang45322 分钟前
从一个 WebView Demo 开始,理解 ASCF 小程序底座到底在做什么
前端
牧艺23 分钟前
用 Next.js 搭建 AI Agent 前端编排:从 Plan 到 SSE Trace 的完整实践
前端·agent
行者全栈架构师24 分钟前
UniApp集成vk-uview-ui组件库详解:打造高效UI开发体验
前端·vue.js
林希_Rachel_傻希希28 分钟前
js里面的proxy理解。以及vue3响应式数据设计底层
前端·javascript·面试
sunrains29 分钟前
uniapp x 动态Tabbar(切换无闪烁)+动角标+主题切换+自定义tabbar页面导航栏样式设置 支持服务端动态配置根据角色动态设置Tabbar
前端
把马铃薯变成土豆30 分钟前
前端Stripe跨境支付对接感想
前端·源码
牧艺32 分钟前
用 Three.js 实现一个浏览器端 3D 看车的项目
前端·three.js