Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【愚公系列】《微信小程序与云开发从入门到实践》033-页面尺寸控制与自定义字体

【愚公系列】《微信小程序与云开发从入门到实践》033-页面尺寸控制与自定义字体

原创
作者头像
愚公搬代码
发布于 2025-01-23 15:47:08
发布于 2025-01-23 15:47:08
29000
代码可运行
举报
运行总次数:0
代码可运行

标题

详情

作者简介

愚公搬代码

头衔

华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。

近期荣誉

2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。

博客内容

.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。

欢迎

👍点赞、✍评论、⭐收藏

🚀前言

随着移动互联网的迅猛发展,微信小程序因其便捷性和高效性,成为了众多企业和开发者的重要工具。在小程序的设计与开发过程中,页面的视觉效果和用户体验尤为关键,其中页面尺寸的控制和字体的自定义更是不可忽视的两个方面。

本篇文章将深入探讨微信小程序中页面尺寸控制与自定义字体的实现方法。我们将介绍如何通过灵活运用CSS和小程序提供的API来精确调整页面元素的尺寸,以适应不同设备和用户需求。同时,我们也将探讨如何在小程序中实现自定义字体,使你的应用在视觉上更加独特,提升整体的用户体验。

🚀一、页面尺寸控制与自定义字体

在PC上,可以使用一些接口来调整小程序的窗口尺寸。在微信开发者工具中,可以设置模拟器为PC类型,如图所示。

🔎1.调整小程序页面尺寸

🦋1.1 wx.setWindowSize 方法

☀️1.1.1 功能说明

wx.setWindowSize 方法用于设置 PC 上小程序的窗口尺寸。通过该方法可以直接设置窗口的宽度和高度。

☀️1.1.2 方法示例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wx.setWindowSize({
  height: 300, // 设置窗口高度
  width: 600,  // 设置窗口宽度
  success: () => {
    console.log("窗口尺寸设置成功");
  },
  fail: (error) => {
    console.log("窗口尺寸设置失败", error);
  }
});
☀️1.1.3 方法参数说明
  • height: 设置窗口的高度(单位为像素)。
  • width: 设置窗口的宽度(单位为像素)。
  • success: 成功回调,表示窗口尺寸设置成功。
  • fail: 失败回调,表示窗口尺寸设置失败。
☀️1.1.4 注意事项
  • 该方法已经被 标记为弃用,官方不再推荐使用此方法来设置小程序的窗口尺寸。
  • wx.setWindowSize 方法 不支持模拟器 中预览效果,因此只能在真实设备上生效。
  • 如果需要动态调整小程序的窗口尺寸,推荐使用 app.json 配置中的 resizable 选项。

🦋1.2 配置 resizable 选项

  • resizableapp.json 文件中的一个配置项,当该项设置为 true 时,表示允许用户在 PC 上调整小程序窗口的尺寸。

配置示例:

代码语言:json
AI代码解释
复制
{
  "window": {
    "resizable": true
  }
}
  • resizable: true:允许用户调整窗口大小(PC 上有效)。

🦋1.3 监听窗口尺寸变化

☀️1.3.1 wx.onWindowResize 方法

如果需要监听窗口尺寸的变化,可以使用 wx.onWindowResize 方法来添加尺寸变化的监听器。

☀️1.3.2 方法示例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wx.onWindowResize(({windowWidth, windowHeight}) => {
  console.log("窗口宽度:", windowWidth, "窗口高度:", windowHeight);
});
☀️1.3.3 参数说明
  • windowWidth: 当前窗口的宽度(单位为像素)。
  • windowHeight: 当前窗口的高度(单位为像素)。

通过该方法可以在窗口尺寸变化时执行相关逻辑,进行响应式调整。


🦋1.4 移除窗口尺寸变化监听

当不再需要监听窗口尺寸变化时,可以使用 wx.offWindowResize 方法来移除之前添加的监听器。

☀️1.4.1 方法示例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wx.offWindowResize((result) => {
  console.log("窗口尺寸变化监听已移除", result);
});
  • 移除监听:当不再需要根据窗口尺寸变化进行操作时,使用此方法移除监听。

🔎2.在小程序中使用自定义字体

🦋2.1 引入自定义字体的必要性

在小程序中,默认情况下会使用系统的默认字体。若应用有特殊的需求(如游戏类应用),可能需要引入自定义字体以契合应用的风格。小程序允许使用 网络字体 来满足这一需求,但不支持直接引入本地字体文件。

🦋2.2 引入自定义字体

☀️2.2.1 使用 wx.loadFontFace 方法

小程序中可以通过 wx.loadFontFace 方法加载自定义字体。为了让字体在整个小程序中生效,通常需要在 app.jsonLaunch 方法中引入字体代码,使其全局生效。

☀️2.2.2 代码示例

app.js 中的 onLaunch 方法中引入字体:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wx.loadFontFace({
  global: true,  // 是否全局加载
  family: 'BitstreamVera Serif Bold',  // 字体名称
  source: 'url("https://sungd.github.io/Pacifico.ttf")',  // 字体资源的地址,支持 TTF 或 WOFF 格式
  success: (res) => {
    console.log("字体加载成功:", res);
  },
  fail: (error) => {
    console.log("字体加载失败:", error);
  }
});
  • global: true:表示字体是否在整个小程序中全局生效。
  • family:指定字体的名称。
  • source:指定字体文件的网络地址,支持 TTF 或 WOFF 格式。
☀️2.2.3 在页面中使用自定义字体

在小程序的页面文件(如 fontDemo.wxml)中,使用 font-family 样式来应用自定义字体。

代码语言:xml
AI代码解释
复制
<text style="font-family: 'Bitstream Vera Serif Bold';">使用的字体是: Bitstream Vera Serif Bold</text>

🦋2.3 wx.loadFontFace 方法的配置项

属性名

类型

描述

global

布尔值

设置字体是否全局生效,true 表示全局加载字体,false 或不设置表示仅在当前页面有效

family

字符串

设置自定义字体的名称。字体名称将作为 font-family 在 CSS 中使用

source

字符串

设置字体资源的 URL 地址,支持 TTF 或 WOFF 格式

success

函数

字体加载成功后的回调函数

fail

函数

字体加载失败后的回调函数

complete

函数

字体加载完成后的回调函数

style

字符串

设置字体的样式(如 normal, italic 等)

weight

字符串

设置字体的粗细(如 normal, bold 等)

variant

字符串

设置字体的变体(如 small-caps 等)

desc

对象

设置字体的描述字段,指定字体的使用范围(如 webviewnative

☀️2.3.1 属性说明
  • global:如果设置为 true,该字体会在整个小程序中生效。如果设置为 false 或不设置,只在当前页面有效。
  • family:这是必须指定的属性,代表字体的名称。这个名称应该与加载的字体文件中的字体名称一致。
  • source:字体的网络地址,支持 TTF 和 WOFF 格式。小程序只支持通过 URL 引入字体文件。
  • successfailcomplete:这三个回调函数分别用于处理字体加载成功、失败和完成时的回调。
  • style:可以设置字体样式,例如 normalitalic
  • weight:设置字体的粗细,可以选择 normalbold
  • variant:设置字体的显示变体,例如 small-caps 等。
  • desc:用于描述字体的字段,可以指定字体的使用范围,如 webviewnative

🦋2.4 示例项目:创建字体展示页面

在小程序的 pages/fontDemo 文件夹下创建一个页面,展示如何使用自定义字体。

☀️2.4.1 fontDemo.wxml 文件示例
代码语言:xml
AI代码解释
复制
<view>
  <text style="font-family: 'Bitstream Vera Serif Bold';">使用的字体是: Bitstream Vera Serif Bold</text>
</view>
☀️2.4.2 效果展示
  • 运行代码后,页面中的文本将使用自定义的 Bitstream Vera Serif Bold 字体显示。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
小程序的字体加载优化
在小程序中,字体的加载直接影响页面的渲染速度和用户体验。尤其是在使用自定义字体的情况下,如果字体文件较大,加载速度较慢,可能会导致页面出现闪烁或延迟显示的现象,给用户带来不好的体验。因此,合理优化字体加载成为提升小程序性能的关键环节之一。
LucianaiB
2025/01/28
3580
uniapp字体ttf在小程序报错,解决方法
https://www.giftofspeed.com/base64-encoder
肥晨
2024/07/03
4340
自定义字体
本文主要介绍了字体在网页设计中的重要性,包括字体选择、字体大小和行间距的使用,以及如何使用字体图标来提高用户体验。同时,还提供了一些关于字体样式、字体资源和参考资料的信息。
IMWeb前端团队
2018/01/08
2.6K0
自定义字体
(美化)WordPress网站添加自定义字体
通过CSS属性@font-face和font-family可以实现加载自定义web font,改变网页字体,实现美化效果。
阿峰技术博客
2022/10/30
1.5K0
(美化)WordPress网站添加自定义字体
基于 Taro 的微信小程序开发实战:如何支持高亮代码块
如果我们想要开发一款程序员使用的社区小程序,那么对 markdown 格式的解析与渲染是一个非常重要的功能。不过要完善的支持 .md 格式,在微信小程序中并不是一件容易的事情。好在微信小程序目前已经支持 html 标签渲染,因此我们有许多的 web 方案可以借鉴。
用户6901603
2024/04/19
4550
基于 Taro 的微信小程序开发实战:如何支持高亮代码块
【愚公系列】《微信小程序与云开发从入门到实践》042-系统设置信息与应用级事件相关接口
在小程序的开发过程中,系统设置信息与应用级事件的管理尤为重要。这些接口不仅能够帮助开发者获取设备信息、用户设置等关键信息,还能有效提升用户体验,增强小程序的交互性和功能性。通过合理利用这些接口,开发者可以为用户提供个性化的服务和更流畅的使用体验。
愚公搬代码
2025/01/26
2200
HarmonyOS 开发实践 —— 基于Text的自定义字体
在windowStage.loadContent中进行字体的注册(可通过font.registerFont进行注册),这样注册完成后,整个应用内都可以使用。
小帅聊鸿蒙
2024/11/26
2160
Android O:使用自定义字体资源
前言 Android O中的新功能之一是使用自定义字体资源。在这篇文章中,我们一起来看看如何在我们的应用程序中使用它们。 在Android O之前,在我们的应用中使用自定义字体有多困难?我们有两个选择
code_horse
2018/07/02
2.6K0
【愚公系列】《微信小程序与云开发从入门到实践》005-小程序项目的基本结构
在当今移动互联网的迅猛发展中,小程序以其轻便、高效的特点,逐渐成为了吸引用户的重要工具。无论是电商、社交还是生活服务,各类小程序如雨后春笋般涌现,改变了我们与应用的交互方式。然而,很多开发者在初次接触小程序时,往往对其项目结构感到迷茫。了解小程序的基本结构不仅是开发的第一步,更是构建高效、可维护应用的基础。
愚公搬代码
2025/01/10
1750
【愚公系列】《微信小程序与云开发从入门到实践》029-自定义组件基础
随着移动互联网的快速发展,微信小程序作为一种新兴的应用形态,已经成为了众多开发者和企业的重要选择。它不仅拥有广泛的用户基础,还具备轻便、便捷的特点,能够实现丰富的功能和良好的用户体验。而在小程序的开发过程中,自定义组件的使用则是提升代码复用性和维护性的重要手段。
愚公搬代码
2025/01/21
1440
[保姆级教程]uniapp设置字体引入字体格式
注意:~@/ 是 Vue CLI 项目中常用的别名,它指向 src 目录。但在 UniApp 中,可能需要直接使用相对路径或绝对路径。确保路径指向字体文件。
肥晨
2024/06/22
2.2K0
Fabric.js 使用自定义字体
这次就讲讲在 Fabric.js 中创建文本时怎么使用自定义字体、在项目运行时怎么修改字体、以及推荐一个精简字体库的工具。
德育处主任
2023/07/09
7971
Fabric.js 使用自定义字体
WordPress标题文章字体大小调整
主题的标题字体太大,试了很多方法,标题字体大小始终调整不了。网上也找了很多方法,均不灵验。最终于找到一段CSS代码,添加到主题自定义,设置CSS选项里,确定后字体大小,再根据自己网站适量自己调整。
zairun
2022/10/31
1.4K0
在网页中使用自定义字体
@font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体,你们当中或许有许多人会不自然的问,这样的东西IE能支持吗?当我告诉大家@font-face这个功能早在IE4就支持了你肯定会感到惊讶。我的Blog就使用了许多这样的自定义Web字体,比如说首页的Logo,Tags以及页面中的手写英文体,很多朋友问我如何使用,能让自己的页面也支持这样的自定义字体,一句话这些都是@font-face实现的,为了能让更多的朋友知道如何使用他,今天我主要把自己的一点学习过程贴上来和大家分享。
OECOM
2020/07/02
1.9K0
【愚公系列】2022年08月 微信小程序-自定义导航栏功能的实现
导航栏是指位于页面顶部或者侧边区域的,在页眉横幅图片上边或下边的一排水平导航按钮,它起着链接站点或者软件内的各个页面的作用。
愚公搬代码
2022/09/28
1.1K0
【愚公系列】2022年08月 微信小程序-自定义导航栏功能的实现
【愚公系列】《微信小程序与云开发从入门到实践》019-导航组件与页面配置节点组件
在微信小程序的开发过程中,导航组件和页面配置节点组件是构建流畅用户体验的关键要素。用户在小程序中如何顺利地浏览和找到所需信息,直接影响着他们的使用体验与满意度。本篇文章将探讨微信小程序中的导航组件及页面配置节点组件,帮助你更好地理解它们的功能与应用。
愚公搬代码
2025/01/16
1660
【愚公系列】《微信小程序与云开发从入门到实践》031-开发一款多Tab页自定义组件
在现代移动应用中,良好的用户体验离不开清晰的界面布局和流畅的交互设计。微信小程序作为一种轻量级的应用形式,广泛应用于各类场景,而多Tab页设计则越来越成为用户界面的重要组成部分。通过合理的Tab页面设计,用户可以更方便地在不同功能模块之间切换,从而提升使用的便捷性和舒适感。
愚公搬代码
2025/01/21
1270
【愚公系列】《微信小程序与云开发从入门到实践》008-WXML与WXSS
在微信小程序的开发中,WXML(WeiXin Markup Language)和WXSS(WeiXin Style Sheets)是两个至关重要的技术,它们分别负责小程序的结构与样式设计。WXML作为微信小程序的标记语言,类似于HTML,帮助开发者定义页面的布局和结构;而WXSS则是其样式表语言,提供了丰富的样式设置功能,使得小程序的界面更加美观和用户友好。
愚公搬代码
2025/01/12
2430
修改网页自定义字体的CSS代码+图文教程
HI,五一玩的怎么样?除了人山人海,高速堵车,高铁全是人之外其他都还好啦,是不是,哈哈哈~~~好了,不闹了,在假期有朋友问我,想要修改网页的字体怎么办?怎么更换网页的字体,又如何引用自定义字体呢?其实很简单,今天简单写个教程,需要能给小白一丢丢的帮助吧。
李洋博客
2021/06/15
2.5K0
腾讯云:WordPress教程网站中使用自定义字体
在使用 WordPress 建站的过程中,很多时候我们希望在网页中使用某种特定的字体,而这种特定的字体并不是主流操作系统的内置字体。在使用比较少的情况下,我们可以把想要的文字做成图片,但是如果网页中需要大范围的使用该字体,做成图片的方法就行不通了。而且如果把文字内容做成图片不易修改,也不利于网站 SEO。
Wordpress教程
2019/06/11
1.5K0
腾讯云:WordPress教程网站中使用自定义字体
推荐阅读
相关推荐
小程序的字体加载优化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验