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

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

回答

收藏

Telegram小程序 UI | 主题设计

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

本帖最后由 riyad 于 2025-2-21 19:50 编辑 # O4 L* w& A- c' o
* c0 Z) i2 v2 Q6 {
迷你应用程序是一种网络应用程序,旨在拥有原生外观。 这不仅包括使用模仿本地元素的组件 ,还包括采用父应用程序的颜色 方案。
/ p8 F: H3 A* l4 w7 V6 q( X
% U9 s' Y9 t) a7 T+ U迷你应用程序的颜色目前与 Telegram 应用程序中使用的颜色一致。 迷你应用程序应使用这些颜色,以确保外观的一致性和原生性。8 G% D% y9 D1 W
7 Z+ s8 j" G9 g9 W+ B- O* l9 {* d
检索% D7 Q; |! T9 o8 i; L0 S; v
应用启动参数( `, C" q! ?1 y6 `' ^2 S5 `* O3 R
Telegram 小应用程序通过名为 tgWebAppThemeParams 的应用启动参数提供主题数据。 该 参数表示一个序列化 JSON 对象,其中包含一系列可选属性,每个 属性描述一种调色板颜色。- ~. M, r- X8 }) C% r6 O

5 l/ }$ x6 s) i  Y: s: x! |. [: d下面是一个完整的参数值示例:
% U6 ?, W1 d* \8 }8 H# E3 F; t  m2 ~1 K
{  "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"}8 Q1 B, d' F. j1 D- X- z* t

4 f7 [3 p+ b  M: f5 h
Telegram 迷你应用程序方法不过,通过应用启动参数检索主题数据并不是唯一的方法。 Telegram 小应用程序 还允许通过名为 web_app_request_theme 的方法 获取主题。调用此方法后,Telegram 将发出名为 theme_changed 的事件 。 该事件 的有效载荷包含一个名为 theme_params 的属性,其格式如上一节所述。  M9 v" a& V+ h8 s$ s- p' t
% `* K4 a5 M+ v% i7 I
背景和标题颜色2 x1 n) w! d4 L& L1 ?
只要迷你应用程序始终显示在原生组件(由 header 和 body 等部分组成)中,Telegram 迷你应用程序也允许更改其颜色。7 a  J7 r& j: A8 o5 ^# Z( p
) T1 f" O6 ?7 z. H0 V' z
要更改标题颜色,开发人员应使用 web_app_set_header_color 方法,该方法提供了一种通过使用主题键或自定义 RGB 字符串来设置颜色的方法。
4 F, C& X$ }! Q% k7 L9 s0 e7 t/ z; l3 D* ]# }9 w0 S
要更新主体颜色,需要使用 web_app_set_background_color 方法。) I4 e# g/ }% U  U# t8 W9 {; m

" r. B  z- @3 y" E, T/ w5 u9 B0 S5 v8 U
* w& m! u  G; ?& `

6 n! r9 `) }: `# l
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则