|
本帖最后由 riyad 于 2025-2-21 19:50 编辑 4 _* @* `: {# m6 K9 S: B3 m
+ g# Y( w+ x7 N3 Z6 i
迷你应用程序是一种网络应用程序,旨在拥有原生外观。 这不仅包括使用模仿本地元素的组件 ,还包括采用父应用程序的颜色 方案。
& u) N7 e: [, W
6 a: ^, Z. p: {/ D7 ^迷你应用程序的颜色目前与 Telegram 应用程序中使用的颜色一致。 迷你应用程序应使用这些颜色,以确保外观的一致性和原生性。7 j* N6 o! L; n- ?
}4 N \$ j2 L! Q检索 D( ~" X! v- o# e
应用启动参数
7 ~1 k* @8 V$ l5 w8 w; oTelegram 小应用程序通过名为 tgWebAppThemeParams 的应用启动参数提供主题数据。 该 参数表示一个序列化 JSON 对象,其中包含一系列可选属性,每个 属性描述一种调色板颜色。3 h% L2 [5 a2 z! T* K3 J6 ]3 i- r
8 N1 a+ f* b) C0 f- {$ `下面是一个完整的参数值示例:
r( R: U5 B0 w, @1 L1 {$ W9 V$ E# [6 \3 c: R, @& J8 {. s7 ^
{ "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 a ]3 t' d0 j: y9 j% }' A4 i, `% X: V3 m2 Q
Telegram 迷你应用程序方法不过,通过应用启动参数检索主题数据并不是唯一的方法。 Telegram 小应用程序 还允许通过名为 web_app_request_theme 的方法 获取主题。调用此方法后,Telegram 将发出名为 theme_changed 的事件 。 该事件 的有效载荷包含一个名为 theme_params 的属性,其格式如上一节所述。
9 G+ h. a3 }, R4 j' l& V* i! O, n! x' N4 n5 S
背景和标题颜色 B1 Z0 b$ z2 G& r
只要迷你应用程序始终显示在原生组件(由 header 和 body 等部分组成)中,Telegram 迷你应用程序也允许更改其颜色。
d- ~+ i% D4 `/ l5 A$ R/ ]( C( I. I e: Q
要更改标题颜色,开发人员应使用 web_app_set_header_color 方法,该方法提供了一种通过使用主题键或自定义 RGB 字符串来设置颜色的方法。$ M! g4 j: E& q3 @
+ Z; j. i- W+ I/ B5 ^, ?4 u2 V
要更新主体颜色,需要使用 web_app_set_background_color 方法。( r9 I# a' d" l- y3 e8 C# ^
- B7 C9 |3 O5 M/ u `
% O$ q& I" i( u1 X4 y0 I8 x+ \& h O- Y5 } o @3 V3 x
& x% @% B( z9 f0 M. z |
|