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

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

回答

收藏

Telegram小程序 UI | 主题设计

开源社区 开源社区 8780 人阅读 | 0 人回复 | 2025-02-19

本帖最后由 riyad 于 2025-2-21 19:50 编辑
; }! f0 a$ `9 x- Q/ B! Z
# P3 Z. j# z4 D! l/ n: I8 u迷你应用程序是一种网络应用程序,旨在拥有原生外观。 这不仅包括使用模仿本地元素的组件 ,还包括采用父应用程序的颜色 方案。
2 o4 Y0 \$ I+ P: o' c: T1 G
* @, e  j" u2 b% O4 x9 U迷你应用程序的颜色目前与 Telegram 应用程序中使用的颜色一致。 迷你应用程序应使用这些颜色,以确保外观的一致性和原生性。2 F" I, g9 h; r$ ]# c

  @. C5 ~# o0 \- K( u* O检索+ m) ^; O* F3 i" ]8 t
应用启动参数+ [1 n0 \  d+ o2 R
Telegram 小应用程序通过名为 tgWebAppThemeParams 的应用启动参数提供主题数据。 该 参数表示一个序列化 JSON 对象,其中包含一系列可选属性,每个 属性描述一种调色板颜色。4 t* U6 v/ T3 {; X4 o
" O% n+ f& r0 s( t  g; A
下面是一个完整的参数值示例:0 |# g& R9 X" [* j- K
% l) E- o) N% ^* v  R8 D( O
{  "accent_text_color": "#6ab2f2",  "bg_color": "#17212b",  "button_color": "#5288c1",  "button_text_color": "#ffffff",  "bottom_bar_bg_color": "#ffffff",  "destructive_text_color": "#ec3942",  "header_bg_color": "#17212b",  "hint_color": "#708499",  "link_color": "#6ab3f3",  "secondary_bg_color": "#232e3c",  "section_bg_color": "#17212b",  "section_header_text_color": "#6ab3f3",  "subtitle_text_color": "#708499",  "text_color": "#f5f5f5"}
6 }& n4 Q" z: b) F1 R2 w+ e: ]' T/ g+ W& L. B6 |6 R
Telegram 迷你应用程序方法不过,通过应用启动参数检索主题数据并不是唯一的方法。 Telegram 小应用程序 还允许通过名为 web_app_request_theme 的方法 获取主题。调用此方法后,Telegram 将发出名为 theme_changed 的事件 。 该事件 的有效载荷包含一个名为 theme_params 的属性,其格式如上一节所述。: q2 G8 e- S7 _( ^% m* c2 c6 C8 ]
0 ]0 J! `( {' I' t! z3 I
背景和标题颜色- J9 c  Q/ q# R
只要迷你应用程序始终显示在原生组件(由 header 和 body 等部分组成)中,Telegram 迷你应用程序也允许更改其颜色。  l  T6 I# Y4 \( ?4 U0 _" X
( i; ~  b0 m! g/ f  W: B
要更改标题颜色,开发人员应使用 web_app_set_header_color 方法,该方法提供了一种通过使用主题键或自定义 RGB 字符串来设置颜色的方法。) T5 Y5 b5 I6 ]+ E/ x  o
4 b# P8 F5 w$ P$ _, z
要更新主体颜色,需要使用 web_app_set_background_color 方法。; M& \% Q1 F$ M" @* z

( U" X6 R+ f/ E; o) t, _- C& C
8 x- `1 \7 D& u/ O0 h8 r  L% o0 Z3 J0 _: Y3 L
5 F1 }& U6 ], T
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则