1 /* 2 * Copyright (c) 2021-2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_TAB_BAR_TAB_THEME_H 17 #define FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_TAB_BAR_TAB_THEME_H 18 19 #include "base/geometry/dimension.h" 20 #include "core/components/common/properties/text_style.h" 21 #include "core/components/theme/theme.h" 22 #include "core/components/theme/theme_constants.h" 23 #include "core/components/theme/theme_constants_defines.h" 24 25 namespace OHOS::Ace { 26 27 /** 28 * TabTheme defines color and styles of tab. TabTheme should be built 29 * using TabTheme::Builder. 30 */ 31 namespace { 32 constexpr double THIRDFONT_DEFAULT_VALUE = 1.45; 33 constexpr double BIGFONT_DEFAULT_VALUE = 1.75; 34 constexpr double LARGEFONT_DEFAULT_VALUE = 2.0; 35 constexpr double MAXFONT_DEFAULT_VALUE = 3.2; 36 constexpr double ANIMATION_DURATION_DEFAULT = 300.0; 37 } // namespace 38 class TabTheme : public virtual Theme { 39 DECLARE_ACE_TYPE(TabTheme, Theme); 40 41 public: 42 class Builder { 43 public: 44 Builder() = default; 45 ~Builder() = default; 46 47 static constexpr Dimension BOTTOM_BAR_HORIZONTAL_TEXT_SIZE = 12.0_vp; 48 Build(const RefPtr<ThemeConstants> & themeConstants)49 RefPtr<TabTheme> Build(const RefPtr<ThemeConstants>& themeConstants) const 50 { 51 RefPtr<TabTheme> theme = AceType::MakeRefPtr<TabTheme>(); 52 if (!themeConstants) { 53 return theme; 54 } 55 RefPtr<ThemeStyle> pattern = themeConstants->GetPatternByName(THEME_PATTERN_TAB); 56 if (pattern) { 57 theme->backgroundColor_ = pattern->GetAttr<Color>(PATTERN_BG_COLOR, Color::WHITE); 58 theme->activeIndicatorColor_ = pattern->GetAttr<Color>("active_indicator_color", Color::WHITE); 59 theme->focusIndicatorColor_ = pattern->GetAttr<Color>("focus_indicator_color", Color::WHITE); 60 theme->focusIndicatorRadius_ = pattern->GetAttr<Dimension>("focus_indicator_radius", 0.0_vp); 61 theme->subTabIndicatorHeight_ = pattern->GetAttr<Dimension>("subtab_indicator_height", 0.0_vp); 62 theme->subTabTextOnColor_ = pattern->GetAttr<Color>("subtab_text_on_color", Color::WHITE); 63 theme->subTabTextOffColor_ = pattern->GetAttr<Color>("subtab_text_off_color", Color::WHITE); 64 theme->subTabBoardTextOnColor_ = pattern->GetAttr<Color>("subtab_board_text_on_color", Color::WHITE); 65 theme->subTabIndicatorGap_ = pattern->GetAttr<Dimension>("subtab_indicator_gap", 0.0_vp); 66 theme->subTabHorizontalPadding_ = pattern->GetAttr<Dimension>("subtab_horizontal_padding", 0.0_vp); 67 theme->subTabTopPadding_ = pattern->GetAttr<Dimension>("subtab_top_padding", 0.0_vp); 68 theme->subTabBottomPadding_ = pattern->GetAttr<Dimension>("subtab_bottom_padding", 0.0_vp); 69 theme->subTabItemPadding_ = pattern->GetAttr<Dimension>("subtab_item_padding", 0.0_vp); 70 theme->subTabBarHoverColor_ = pattern->GetAttr<Color>("subtab_hover_color", Color::WHITE); 71 theme->subTabBarPressedColor_ = pattern->GetAttr<Color>("subtab_press_color", Color::WHITE); 72 theme->subtabTextDefaultFontSize_ = 73 pattern->GetAttr<Dimension>("subtab_text_default_font_size", 0.0_vp); 74 theme->subtabLandscapeHorizontalPadding_ = 75 pattern->GetAttr<Dimension>("subtab_landscape_horizontal_padding", 0.0_vp); 76 theme->bottomTabHorizontalPadding_ = 77 pattern->GetAttr<Dimension>("bottom_tab_horizontal_padding", 0.0_vp); 78 theme->bottomTabTextOn_ = pattern->GetAttr<Color>("bottom_tab_text_on", Color::WHITE); 79 theme->bottomTabTextOff_ = pattern->GetAttr<Color>("bottom_tab_text_off", Color::WHITE); 80 theme->bottomTabIconOn_ = pattern->GetAttr<Color>("bottom_tab_icon", Color::WHITE); 81 theme->bottomTabIconOff_ = pattern->GetAttr<Color>("bottom_tab_icon_off", Color::WHITE); 82 theme->bottomTabSymbolOn_ = pattern->GetAttr<Color>("bottom_tab_symbol", Color(0xFF007DFF)); 83 theme->bottomTabSymbolOff_ = pattern->GetAttr<Color>("bottom_tab_symbol_off", Color(0x66182431)); 84 theme->bottomTabImageSize_ = pattern->GetAttr<Dimension>("bottom_tab_image_size", 0.0_vp); 85 theme->bottomTabTextSize_ = pattern->GetAttr<Dimension>("bottom_tab_text_size", 0.0_vp); 86 theme->bottomTabHorizontalTextSize_ = 87 pattern->GetAttr<Dimension>("bottom_tab_horizontal_text_size", BOTTOM_BAR_HORIZONTAL_TEXT_SIZE); 88 theme->bottomTabBackgroundBlurStyle_ = pattern->GetAttr<int>("bottom_tab_bar_bg_blur_style", 0); 89 theme->defaultTabBarName_ = pattern->GetAttr<std::string>("default_tab_bar_name", ""); 90 theme->bottomTabBarSpace_ = pattern->GetAttr<Dimension>("bottom_tab_bar_space", 0.0_vp); 91 theme->horizontalBottomTabBarSpace_ = 92 pattern->GetAttr<Dimension>("horizontal_bottom_tab_bar_space", 0.0_vp); 93 theme->subTabBarHoverDuration_ = pattern->GetAttr<double>("sub_tab_bar_hover_duration", 0.0); 94 theme->subTabBarBigFontSizeScale_ = 95 pattern->GetAttr<double>("sub_tab_bar_big_font_size_scale", BIGFONT_DEFAULT_VALUE); 96 theme->subTabBarLargeFontSizeScale_ = 97 pattern->GetAttr<double>("sub_tab_bar_large_font_size_scale", LARGEFONT_DEFAULT_VALUE); 98 theme->subTabBarMaxFontSizeScale_ = 99 pattern->GetAttr<double>("sub_tab_bar_max_font_size_scale", MAXFONT_DEFAULT_VALUE); 100 theme->subTabBarOriginFontSizeScale_ = 101 pattern->GetAttr<double>("sub_tab_bar_origin_font_size_scale", 1.0); 102 theme->subTabBarLeftRightMargin_ = 103 pattern->GetAttr<Dimension>("sub_tab_bar_left_right_margin", 12.0_vp); 104 theme->subTabBarIndicatorstyleMarginTop_ = 105 pattern->GetAttr<Dimension>("sub_tab_bar_indicatorstyle_margin_top", 4.0_vp); 106 theme->subTabBarThirdLargeFontSizeScale_ = 107 pattern->GetAttr<double>("sub_tab_bar_third_large_font_size_scale", THIRDFONT_DEFAULT_VALUE); 108 109 ParseAttribute(theme, pattern); 110 } else { 111 LOGW("find pattern of tab fail"); 112 } 113 return theme; 114 } 115 116 private: ParseAttribute(const RefPtr<TabTheme> & theme,const RefPtr<ThemeStyle> & pattern)117 void ParseAttribute(const RefPtr<TabTheme>& theme, const RefPtr<ThemeStyle>& pattern) const 118 { 119 theme->subTabBarHoverToPressDuration_ = 120 pattern->GetAttr<double>("sub_tab_bar_hover_to_press_duration", 0.0); 121 theme->tabContentAnimationDuration_ = 122 pattern->GetAttr<double>("tab_content_animation_duration", ANIMATION_DURATION_DEFAULT); 123 theme->tabBarDefaultHeight_ = pattern->GetAttr<Dimension>("tab_bar_default_height", 0.0_vp); 124 theme->bottomTabBarDefaultHeight_ = 125 pattern->GetAttr<Dimension>("bottom_tab_bar_default_height", 0.0_vp); 126 theme->tabBarDefaultWidth_ = pattern->GetAttr<Dimension>("tab_bar_default_width", 0.0_vp); 127 theme->subTabBarMinWidth_ = pattern->GetAttr<Dimension>("sub_tab_bar_min_width", 0.0_vp); 128 theme->dividerColor_ = pattern->GetAttr<Color>("divider_color", Color::BLACK); 129 theme->tabBarShadowMargin_ = pattern->GetAttr<Dimension>("tab_bar_shadow_margin", 0.0_vp); 130 theme->tabBarGradientWidth_ = pattern->GetAttr<Dimension>("tab_bar_gradient_width", 0.0_vp); 131 theme->colorBottomTabSubBg_ = pattern->GetAttr<Color>("color_bottom_tab_sub_bg", Color::WHITE); 132 theme->colorBottomTabSubBgBlur_ = pattern->GetAttr<Color>("color_bottom_tab_sub_bg_blur", Color::WHITE); 133 theme->tabBarColumnGutter_ = pattern->GetAttr<Dimension>("tab_bar_column_gutter", 0.0_vp); 134 theme->tabBarColumnMargin_ = pattern->GetAttr<Dimension>("tab_bar_column_margin", 0.0_vp); 135 theme->horizontalBottomTabMinWidth_ = 136 pattern->GetAttr<Dimension>("horizontal_bottom_tab_min_width", 0.0_vp); 137 theme->tabBarDefaultMargin_ = pattern->GetAttr<Dimension>("tab_bar_margin_width", 0.0_vp); 138 theme->tabBarFocusedColor_ = pattern->GetAttr<Color>("tab_bar_focused_color", Color::TRANSPARENT); 139 theme->subTabTextFocusedColor_ = 140 pattern->GetAttr<Color>("subtab_text_focused_color", theme->subTabTextOffColor_); 141 theme->focusBoardPadding_ = pattern->GetAttr<Dimension>("tab_bar_board_focus_padding", 0.0_vp); 142 theme->subTabItemHorizontalPadding_ = pattern->GetAttr<Dimension>("subtab_item_Horizontal_padding", 0.0_vp); 143 theme->focusPadding_ = pattern->GetAttr<Dimension>("tab_bar_focus_padding", 0.0_vp); 144 theme->isChangeFocusTextStyle_ = static_cast<bool>(pattern->GetAttr<int>("subtab_focused_style", 0)); 145 theme->labelPadding_ = pattern->GetAttr<Dimension>("label_padding", 8.0_vp); 146 theme->padding_ = pattern->GetAttr<Dimension>("tab_padding", 16.0_vp); 147 theme->gradientWidth_ = pattern->GetAttr<Dimension>("tab_gradient_width", 24.0_vp); 148 theme->defaultHeight_ = pattern->GetAttr<Dimension>("tab_default_height", 56.0_vp); 149 theme->defaultWidth_ = pattern->GetAttr<Dimension>("tab_default_width", 200.0_px); 150 theme->defaultItemHeight_ = pattern->GetAttr<Dimension>("tab_default_item_height", 200.0_px); 151 theme->activeIndicatorWidth_ = pattern->GetAttr<Dimension>("active_indicator_width", 2.0_vp); 152 theme->activeIndicatorMinWidth_ = pattern->GetAttr<Dimension>("active_indicator_min_width", 32.0_vp); 153 theme->activeIndicatorPadding_ = pattern->GetAttr<Dimension>("active_indicator_padding", 3.0_vp); 154 theme->focusIndicatorHorizontalPadding_ = 155 pattern->GetAttr<Dimension>("focus_indicator_horizontal_padding", 0.0_vp); 156 theme->focusIndicatorVerticalPadding_ = 157 pattern->GetAttr<Dimension>("focus_indicator_vertical_padding", 0.0_vp); 158 theme->dialog_radius_level10_ = pattern->GetAttr<Dimension>("dialog_radius_level10", 20.0_vp); 159 theme->dialog_iconColor_ = pattern->GetAttr<Color>("dialog_icon_primary", Color(0xff182431)); 160 theme->dialog_fontColor_ = pattern->GetAttr<Color>("dialog_font_primary", Color(0xff182431)); 161 } 162 }; 163 164 ~TabTheme() override = default; 165 GetLabelPadding()166 const Dimension& GetLabelPadding() const 167 { 168 return labelPadding_; 169 } 170 GetPadding()171 const Dimension& GetPadding() const 172 { 173 return padding_; 174 } 175 GetGradientWidth()176 const Dimension& GetGradientWidth() const 177 { 178 return gradientWidth_; 179 } 180 GetDefaultHeight()181 const Dimension& GetDefaultHeight() const 182 { 183 return defaultHeight_; 184 } 185 GetDefaultWidth()186 const Dimension& GetDefaultWidth() const 187 { 188 return defaultWidth_; 189 } 190 GetDefaultItemHeight()191 const Dimension& GetDefaultItemHeight() const 192 { 193 return defaultItemHeight_; 194 } 195 GetBackgroundColor()196 const Color& GetBackgroundColor() const 197 { 198 return backgroundColor_; 199 } 200 GetActiveIndicatorColor()201 const Color& GetActiveIndicatorColor() const 202 { 203 return activeIndicatorColor_; 204 } 205 GetActiveIndicatorWidth()206 const Dimension& GetActiveIndicatorWidth() const 207 { 208 return activeIndicatorWidth_; 209 } 210 GetActiveIndicatorMinWidth()211 const Dimension& GetActiveIndicatorMinWidth() const 212 { 213 return activeIndicatorMinWidth_; 214 } 215 GetActiveIndicatorPadding()216 const Dimension& GetActiveIndicatorPadding() const 217 { 218 return activeIndicatorPadding_; 219 } 220 GetFocusIndicatorColor()221 const Color& GetFocusIndicatorColor() const 222 { 223 return focusIndicatorColor_; 224 } 225 GetFocusIndicatorRadius()226 const Dimension& GetFocusIndicatorRadius() const 227 { 228 return focusIndicatorRadius_; 229 } 230 GetFocusIndicatorHorizontalPadding()231 const Dimension& GetFocusIndicatorHorizontalPadding() const 232 { 233 return focusIndicatorHorizontalPadding_; 234 } 235 GetFocusIndicatorVerticalPadding()236 const Dimension& GetFocusIndicatorVerticalPadding() const 237 { 238 return focusIndicatorVerticalPadding_; 239 } 240 GetSubTabTextOnColor()241 const Color& GetSubTabTextOnColor() const 242 { 243 return subTabTextOnColor_; 244 } 245 GetSubTabTextOffColor()246 const Color& GetSubTabTextOffColor() const 247 { 248 return subTabTextOffColor_; 249 } 250 GetSubTabBoardTextOnColor()251 const Color& GetSubTabBoardTextOnColor() const 252 { 253 return subTabBoardTextOnColor_; 254 } 255 GetSubTabIndicatorHeight()256 const Dimension& GetSubTabIndicatorHeight() const 257 { 258 return subTabIndicatorHeight_; 259 } 260 GetSubTabIndicatorGap()261 const Dimension& GetSubTabIndicatorGap() const 262 { 263 return subTabIndicatorGap_; 264 } 265 GetSubTabHorizontalPadding()266 const Dimension& GetSubTabHorizontalPadding() const 267 { 268 return subTabHorizontalPadding_; 269 } 270 GetSubTabItemPadding()271 const Dimension& GetSubTabItemPadding() const 272 { 273 return subTabItemPadding_; 274 } 275 GetSubTabTopPadding()276 const Dimension& GetSubTabTopPadding() const 277 { 278 return subTabTopPadding_; 279 } 280 GetSubTabBottomPadding()281 const Dimension& GetSubTabBottomPadding() const 282 { 283 return subTabBottomPadding_; 284 } 285 GetSubTabBarHoverColor()286 const Color& GetSubTabBarHoverColor() const 287 { 288 return subTabBarHoverColor_; 289 } 290 GetSubTabBarPressedColor()291 const Color& GetSubTabBarPressedColor() const 292 { 293 return subTabBarPressedColor_; 294 } 295 GetSubTabTextDefaultFontSize()296 const Dimension& GetSubTabTextDefaultFontSize() const 297 { 298 return subtabTextDefaultFontSize_; 299 } 300 GetSubtabLandscapeHorizontalPadding()301 const Dimension& GetSubtabLandscapeHorizontalPadding() const 302 { 303 return subtabLandscapeHorizontalPadding_; 304 } 305 GetBottomTabHorizontalPadding()306 const Dimension& GetBottomTabHorizontalPadding() const 307 { 308 return bottomTabHorizontalPadding_; 309 } 310 GetBottomTabTextOn()311 const Color& GetBottomTabTextOn() const 312 { 313 return bottomTabTextOn_; 314 } 315 GetBottomTabTextOff()316 const Color& GetBottomTabTextOff() const 317 { 318 return bottomTabTextOff_; 319 } 320 GetBottomTabIconOn()321 const Color& GetBottomTabIconOn() const 322 { 323 return bottomTabIconOn_; 324 } 325 GetBottomTabIconOff()326 const Color& GetBottomTabIconOff() const 327 { 328 return bottomTabIconOff_; 329 } 330 GetBottomTabSymbolOn()331 const Color& GetBottomTabSymbolOn() const 332 { 333 return bottomTabSymbolOn_; 334 } 335 GetBottomTabSymbolOff()336 const Color& GetBottomTabSymbolOff() const 337 { 338 return bottomTabSymbolOff_; 339 } 340 GetBottomTabImageSize()341 const Dimension& GetBottomTabImageSize() const 342 { 343 return bottomTabImageSize_; 344 } 345 GetBottomTabTextSize()346 const Dimension& GetBottomTabTextSize() const 347 { 348 return bottomTabTextSize_; 349 } 350 GetBottomTabHorizontalTextSize()351 const Dimension& GetBottomTabHorizontalTextSize() const 352 { 353 return bottomTabHorizontalTextSize_; 354 } 355 GetBottomTabBackgroundBlurStyle()356 const int& GetBottomTabBackgroundBlurStyle() const 357 { 358 return bottomTabBackgroundBlurStyle_; 359 } 360 GetDefaultTabBarName()361 const std::string& GetDefaultTabBarName() const 362 { 363 return defaultTabBarName_; 364 } 365 GetBottomTabBarSpace()366 const Dimension& GetBottomTabBarSpace() const 367 { 368 return bottomTabBarSpace_; 369 } 370 GetHorizontalBottomTabBarSpace()371 const Dimension& GetHorizontalBottomTabBarSpace() const 372 { 373 return horizontalBottomTabBarSpace_; 374 } 375 GetSubTabBarHoverDuration()376 double GetSubTabBarHoverDuration() const 377 { 378 return subTabBarHoverDuration_; 379 } 380 GetSubTabBarHoverToPressDuration()381 double GetSubTabBarHoverToPressDuration() const 382 { 383 return subTabBarHoverToPressDuration_; 384 } 385 GetTabContentAnimationDuration()386 double GetTabContentAnimationDuration() const 387 { 388 return tabContentAnimationDuration_; 389 } 390 GetTabBarDefaultHeight()391 const Dimension& GetTabBarDefaultHeight() const 392 { 393 return tabBarDefaultHeight_; 394 } 395 GetTabBarDefaultWidth()396 const Dimension& GetTabBarDefaultWidth() const 397 { 398 return tabBarDefaultWidth_; 399 } 400 GetSubTabBarMinWidth()401 const Dimension& GetSubTabBarMinWidth() const 402 { 403 return subTabBarMinWidth_; 404 } 405 GetDividerColor()406 const Color& GetDividerColor() const 407 { 408 return dividerColor_; 409 } 410 GetTabBarShadowMargin()411 const Dimension& GetTabBarShadowMargin() const 412 { 413 return tabBarShadowMargin_; 414 } 415 GetTabBarGradientWidth()416 const Dimension& GetTabBarGradientWidth() const 417 { 418 return tabBarGradientWidth_; 419 } 420 GetColorBottomTabSubBg()421 const Color& GetColorBottomTabSubBg() const 422 { 423 return colorBottomTabSubBg_; 424 } GetColorBottomTabSubBgBlur()425 const Color& GetColorBottomTabSubBgBlur() const 426 { 427 return colorBottomTabSubBgBlur_; 428 } 429 GetTabBarColumnGutter()430 const Dimension& GetTabBarColumnGutter() const 431 { 432 return tabBarColumnGutter_; 433 } 434 GetTabBarColumnMargin()435 const Dimension& GetTabBarColumnMargin() const 436 { 437 return tabBarColumnMargin_; 438 } 439 GetsubTabBarThirdLargeFontSizeScale()440 float GetsubTabBarThirdLargeFontSizeScale() const 441 { 442 return subTabBarThirdLargeFontSizeScale_; 443 } 444 GetHorizontalBottomTabMinWidth()445 const Dimension& GetHorizontalBottomTabMinWidth() const 446 { 447 return horizontalBottomTabMinWidth_; 448 } GetBottomTabBarDefaultWidth()449 const Dimension& GetBottomTabBarDefaultWidth() const 450 { 451 return bottomTabBarDefaultHeight_; 452 } GetDialogRadiusLevel10()453 const Dimension& GetDialogRadiusLevel10() const 454 { 455 return dialog_radius_level10_; 456 } GetDialogIconColor()457 const Color& GetDialogIconColor() const 458 { 459 return dialog_iconColor_; 460 } GetDialogFontColor()461 const Color& GetDialogFontColor() const 462 { 463 return dialog_fontColor_; 464 } GetSubTabBarBigFontSizeScale()465 float GetSubTabBarBigFontSizeScale() const 466 { 467 return subTabBarBigFontSizeScale_; 468 } GetSubTabBarLargeFontSizeScale()469 float GetSubTabBarLargeFontSizeScale() const 470 { 471 return subTabBarLargeFontSizeScale_; 472 } GetSubTabBarMaxFontSizeScale()473 float GetSubTabBarMaxFontSizeScale() const 474 { 475 return subTabBarMaxFontSizeScale_; 476 } GetSubTabBarOriginFontSizeScale()477 float GetSubTabBarOriginFontSizeScale() const 478 { 479 return subTabBarOriginFontSizeScale_; 480 } GetSubTabBarLeftRightMargin()481 const Dimension& GetSubTabBarLeftRightMargin() const 482 { 483 return subTabBarLeftRightMargin_; 484 } GetSubTabBarIndicatorstyleMarginTop()485 const Dimension& GetSubTabBarIndicatorstyleMarginTop() const 486 { 487 return subTabBarIndicatorstyleMarginTop_; 488 } 489 GetSubTabItemHorizontalPadding()490 const Dimension& GetSubTabItemHorizontalPadding() const 491 { 492 return subTabItemHorizontalPadding_; 493 } 494 GetBoardFocusPadding()495 const Dimension& GetBoardFocusPadding() const 496 { 497 return focusBoardPadding_; 498 } 499 GetFocusPadding()500 const Dimension& GetFocusPadding() const 501 { 502 return focusPadding_; 503 } 504 GetTabBarDefaultMargin()505 const Dimension& GetTabBarDefaultMargin() const 506 { 507 return tabBarDefaultMargin_; 508 } 509 GetTabBarFocusedColor()510 const Color& GetTabBarFocusedColor() const 511 { 512 return tabBarFocusedColor_; 513 } 514 GetSubTabTextFocusedColor()515 const Color& GetSubTabTextFocusedColor() const 516 { 517 return subTabTextFocusedColor_; 518 } 519 GetIsChangeFocusTextStyle()520 bool GetIsChangeFocusTextStyle() const 521 { 522 return isChangeFocusTextStyle_; 523 } 524 525 protected: 526 TabTheme() = default; 527 528 private: 529 Dimension labelPadding_; 530 Dimension padding_; 531 Dimension gradientWidth_; 532 Dimension defaultHeight_; 533 Dimension defaultWidth_; 534 Dimension defaultItemHeight_; 535 Color backgroundColor_; 536 Color activeIndicatorColor_; 537 Dimension activeIndicatorWidth_; 538 Dimension activeIndicatorMinWidth_; 539 Dimension activeIndicatorPadding_; 540 Color focusIndicatorColor_; 541 Dimension focusIndicatorRadius_; 542 Dimension focusIndicatorHorizontalPadding_; 543 Dimension focusIndicatorVerticalPadding_; 544 Color subTabTextOnColor_; 545 Color subTabTextOffColor_; 546 Color subTabBoardTextOnColor_; 547 Dimension subTabIndicatorHeight_; 548 Dimension subTabIndicatorGap_; 549 Dimension subTabHorizontalPadding_; 550 Dimension subTabTopPadding_; 551 Dimension subTabBottomPadding_; 552 Dimension subTabItemPadding_; 553 Color subTabBarHoverColor_; 554 Color subTabBarPressedColor_; 555 Dimension subtabTextDefaultFontSize_; 556 Dimension subtabLandscapeHorizontalPadding_; 557 Dimension bottomTabHorizontalPadding_; 558 Color bottomTabTextOn_; 559 Color bottomTabTextOff_; 560 Color bottomTabIconOn_; 561 Color bottomTabIconOff_; 562 Color bottomTabSymbolOn_; 563 Color bottomTabSymbolOff_; 564 Dimension bottomTabImageSize_; 565 Dimension bottomTabTextSize_; 566 Dimension bottomTabHorizontalTextSize_; 567 std::string defaultTabBarName_; 568 Dimension bottomTabBarSpace_; 569 Dimension horizontalBottomTabBarSpace_; 570 double subTabBarHoverDuration_; 571 double subTabBarHoverToPressDuration_; 572 double tabContentAnimationDuration_; 573 Dimension tabBarDefaultHeight_; 574 Dimension bottomTabBarDefaultHeight_; 575 Dimension tabBarDefaultWidth_; 576 Dimension subTabBarMinWidth_; 577 Color dividerColor_; 578 Dimension tabBarShadowMargin_; 579 Dimension tabBarGradientWidth_; 580 Color colorBottomTabSubBg_; 581 Color colorBottomTabSubBgBlur_; 582 Dimension tabBarColumnGutter_; 583 Dimension tabBarColumnMargin_; 584 Dimension horizontalBottomTabMinWidth_; 585 Dimension dialog_radius_level10_; 586 Color dialog_iconColor_; 587 Color dialog_fontColor_; 588 int bottomTabBackgroundBlurStyle_; 589 float subTabBarBigFontSizeScale_ = 1.75f; 590 float subTabBarLargeFontSizeScale_ = 2.0f; 591 float subTabBarMaxFontSizeScale_ = 3.2f; 592 float subTabBarOriginFontSizeScale_ = 1.0f; 593 Dimension subTabBarLeftRightMargin_; 594 Dimension subTabBarIndicatorstyleMarginTop_; 595 float subTabBarThirdLargeFontSizeScale_ = 1.45f; 596 Dimension tabBarDefaultMargin_; 597 Dimension focusPadding_; 598 Dimension subTabItemHorizontalPadding_; 599 Dimension focusBoardPadding_; 600 Color tabBarFocusedColor_; 601 Color subTabTextFocusedColor_; 602 bool isChangeFocusTextStyle_; 603 }; 604 605 } // namespace OHOS::Ace 606 607 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_TAB_BAR_TAB_THEME_H 608