English 简体中文 繁體中文 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE คนไทย Français русский

回答

收藏

Telegram 小程序 | TypeScript @telegram-apps/sdk @1.x | 组件 | 主题参数

开源社区 开源社区 8935 人阅读 | 0 人回复 | 2025-02-23

主题参数

该组件包含 Telegram 应用程序当前使用的 主题 信息。

初始化

要初始化组件,请使用 initThemeParams 函数:

  1. import { initThemeParams } from '@telegram-apps/sdk';, A; Z0 x6 M6 i# A6 j3 f( n
  2. + R0 T$ R# B: R2 s6 b! ~
  3. const [themeParams] = initThemeParams();
复制代码
索取实际数据

要获取实际的主题参数信息,开发人员可以使用 requestThemeParams 函数:

  1. import { requestThemeParams } from '@telegram-apps/sdk';
    0 ]$ J4 @/ k$ J- n$ h- @6 H

  2. 0 q- |8 v$ ^0 j& A8 _- q, n/ K8 R
  3. requestThemeParams.then(console.log);+ o+ L* Z2 c" r% E
  4. # Y' P4 i. K, C: n  Y
  5. // Output:9 ^4 K8 g" U, z. f2 J
  6. // { bgColor: '#ffaabb', ... }
复制代码
颜色

开发人员可以使用 get 方法获取主题颜色:

  1. themeParams.get('bgColor');
    0 b4 e: C) H* e. ?
  2. themeParams.get('packageUnknownColor');
复制代码
要通过一个对象获取所有颜色,请使用 getState 方法:
  1. themeParams.getState();" q- L( `4 e5 J
  2. // Output:+ i6 w! P; Y, @9 W: p, N0 [
  3. // {. d& _% N; Q  f2 d/ a  J2 ]
  4. //   accentTextColor: '#aa1399',! P6 B& H; I7 t: K! ?  w. M2 @$ d3 Y
  5. //   bgColor: '#baac12',+ N3 W6 U% V. z0 Q' }& c- \
  6. //   linkColor: '#887722'6 a7 s. _: A; c
  7. //   packageUnknownColor: '#676767,
    , Y" H& F. m& F
  8. // }
复制代码

ThemeParams 组件可直接访问颜色列表:

  • accentTextColor: RGB | undefined
  • bgColor: RGB | undefined
  • buttonColor: RGB | undefined
  • buttonTextColor: RGB | undefined
  • destructiveTextColor: RGB | undefined
  • headerBgColor: RGB | undefined
  • hintColor: RGB | undefined
  • linkColor: RGB | undefined
  • secondaryBgColor: RGB | undefined
  • sectionBgColor: RGB | undefined
  • sectionHeaderTextColor: RGB | undefined
  • subtitleTextColor: RGB | undefined
  • textColor: RGB | undefined' m0 ~+ c9 Z0 D& k, L
  p3 C" o9 ]7 Z. X! \
例如0 u" p) Z' a- v2 P2 n: L& l; f$ \
  1. themeParams.accentTextColor; // '#aa1399'
复制代码

0 [& G' B+ P# C7 @' t6 l, k% g5 x3 l! {
事件

可被 跟踪 的事件列表:


( |. v2 y% l/ \) @9 a
事件
监听器
触发条件
change() => void组件中的某些部分发生了变化
change:{theme_key}(value: RGB) => void更改指定键的颜色

! f' z1 I9 C* D  }6 Z
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则