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

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

回答

收藏

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

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

主题参数

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

初始化

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

  1. import { initThemeParams } from '@telegram-apps/sdk';
    : Z& J0 X# c' `4 J! b* }' n% T

  2. ! L9 @) n: s5 Y/ A7 _
  3. const [themeParams] = initThemeParams();
复制代码
索取实际数据

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

  1. import { requestThemeParams } from '@telegram-apps/sdk';8 d, t/ s. ^( v
  2. 2 I# B' L/ u5 B" m
  3. requestThemeParams.then(console.log);- J0 j/ Z) L. L! ~. A1 J
  4. 2 k: ~6 x7 T# `- o# B0 o' z
  5. // Output:; u1 z: c) s+ `1 F+ V
  6. // { bgColor: '#ffaabb', ... }
复制代码
颜色

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

  1. themeParams.get('bgColor');9 g" C! v4 q8 Y9 G( p
  2. themeParams.get('packageUnknownColor');
复制代码
要通过一个对象获取所有颜色,请使用 getState 方法:
  1. themeParams.getState();
    : W0 ~9 T, r2 N7 K
  2. // Output:6 L4 M2 o3 _$ r8 r& D
  3. // {+ }1 m) }( }( o: p# B
  4. //   accentTextColor: '#aa1399'," s! m! d" [9 i, M! O. |4 D
  5. //   bgColor: '#baac12',* j2 g6 z9 ]5 j& ^4 X
  6. //   linkColor: '#887722'
    # i* X+ \0 o( x: I! G
  7. //   packageUnknownColor: '#676767,
    ( Z8 l' G% e9 _  j% ]8 e0 k
  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; {0 i1 s8 B  \# Y( L$ v
2 S/ a# A$ i. g  t8 B; i9 s
例如
) N6 a0 ^$ g9 i" T' m
  1. themeParams.accentTextColor; // '#aa1399'
复制代码
& \& _3 U0 i( w

' ~" T2 ~: h6 c* A8 _% w事件

可被 跟踪 的事件列表:


1 I' ^! `, V; E; D
事件
监听器
触发条件
change() => void组件中的某些部分发生了变化
change:{theme_key}(value: RGB) => void更改指定键的颜色
; A& f# y- e, ]6 g! `9 j
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则