uni-app关于自定义APP的自带Tabbar和Navigation的字体

发布于 1周前 作者 zlyuanteng 来自 Uni-App

uni-app关于自定义APP的自带Tabbar和Navigation的字体

uniapp项目编译成APP时怎么自定义自带Tabbar和Navigation的字体

uniapp项目编译成APP时,自定义自带Tabbar和Navigation的字体可以通过以下步骤实现:

  1. pages.json中配置Tabbar和Navigation的样式。
  2. 使用自定义组件来替代默认的Tabbar和Navigation。
  3. 通过CSS样式调整字体。

如果需要更详细的配置方法,可以参考官方文档或相关教程。

2 回复

app端应该是改不了的 都是原生组件 也没属性可以修改字体 要自定义组件才能改


在uni-app中自定义APP的自带Tabbar和Navigation的字体,可以通过修改全局样式和组件样式来实现。下面是一个示例,展示了如何修改Tabbar和Navigation的字体样式。

修改Tabbar字体

首先,确保你在pages.json中配置了Tabbar。例如:

{
  "tabBar": {
    "color": "#7A7E83",
    "selectedColor": "#3cc51f",
    "borderStyle": "black",
    "backgroundColor": "#ffffff",
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首页",
        "iconPath": "static/tabbar/home.png",
        "selectedIconPath": "static/tabbar/home-active.png"
      },
      // 其他tab配置...
    ]
  }
}

然后,在全局样式文件App.vue<style>部分,添加自定义字体样式:

<style>
.uni-tabbar-text {
  font-family: 'YourCustomFont', sans-serif; /* 替换为你的字体名称 */
  font-size: 14px;
}

.uni-tabbar-item.active .uni-tabbar-text {
  color: #3cc51f; /* 选中状态的字体颜色 */
}
</style>

修改Navigation字体

对于NavigationBar的字体修改,通常需要借助uni.setNavigationBarTitle方法动态设置标题,并在全局样式中定义字体。

App.vue或页面脚本中设置标题:

onShow() {
  uni.setNavigationBarTitle({
    title: '自定义标题',
    success: () => {
      // 设置成功后可以执行其他操作
    }
  });
}

然后,在全局样式文件App.vue<style>部分,添加自定义字体样式:

<style>
/* 设置NavigationBar标题字体 */
.navigation-bar-title {
  font-family: 'YourCustomFont', sans-serif; /* 替换为你的字体名称 */
  font-size: 18px;
  font-weight: bold;
}

/* 注意:实际上uni-app没有直接提供.navigation-bar-title这个类,
   这里是为了示例说明如何定义字体样式。实际修改NavigationBar标题字体
   通常依赖于系统默认,或通过自定义组件和样式模拟实现。 */
</style>

<!-- 如果需要模拟NavigationBar,可以在页面顶部添加一个view,
     并通过样式控制其字体 -->
<template>
  <view class="custom-navigation-bar">
    <text class="navigation-bar-title">{{ navigationTitle }}</text>
  </view>
  <!-- 页面内容 -->
</template>

<script>
export default {
  data() {
    return {
      navigationTitle: '自定义标题'
    };
  }
};
</script>

请注意,由于uni-app对NavigationBar的原生控制有限,直接修改其字体并不总是可行。如果上述方法无法满足需求,你可能需要自行实现一个自定义的NavigationBar组件。

回到顶部