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' // 修改导航栏文字颜色为白色
});

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

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

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

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

相关推荐
cyadyx41 分钟前
Vite 比 Webpack 构建效率更高
前端·webpack·node.js·vite
mCell2 小时前
AI 时代 SVG 画图的潜力
前端·agent·svg
我命由我123458 小时前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
Hopebearer_9 小时前
页面突然只剩 DOM?一次静态资源版本错配排查
前端·部署
东风破_9 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
圣殿骑士-Khtangc11 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
BigTopOne12 小时前
【ijkplayer】 硬解码流程
前端
kyriewen12 小时前
DeepSeek Harness开源第一天我就上手了——和Claude Code的差距比想象中大
前端·ai编程·deepseek
捡田螺的小男孩12 小时前
什么是 Skill?手把手带你写一个简单有用的 Skill!
前端·后端·程序员
IT_陈寒12 小时前
Redis集群这个坑,差点让我通宵
前端·人工智能·后端