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 } // namespace 37 class TabTheme : public virtual Theme { 38 DECLARE_ACE_TYPE(TabTheme, Theme); 39 40 public: 41 class Builder { 42 public: 43 Builder() = default; 44 ~Builder() = default; 45 46 static constexpr Dimension BOTTOM_BAR_HORIZONTAL_TEXT_SIZE = 12.0_vp; 47 Build(const RefPtr<ThemeConstants> & themeConstants)48 RefPtr<TabTheme> Build(const RefPtr<ThemeConstants>& themeConstants) const 49 { 50 RefPtr<TabTheme> theme = AceType::Claim(new TabTheme()); 51 if (!themeConstants) { 52 return theme; 53 } 54 RefPtr<ThemeStyle> pattern = themeConstants->GetPatternByName(THEME_PATTERN_TAB); 55 if (pattern) { 56 theme->backgroundColor_ = pattern->GetAttr<Color>(PATTERN_BG_COLOR, Color::WHITE); 57 theme->activeIndicatorColor_ = pattern->GetAttr<Color>("active_indicator_color", Color::WHITE); 58 theme->focusIndicatorColor_ = pattern->GetAttr<Color>("focus_indicator_color", Color::WHITE); 59 theme->focusIndicatorRadius_ = pattern->GetAttr<Dimension>("focus_indicator_radius", 0.0_vp); 60 theme->subTabIndicatorHeight_ = pattern->GetAttr<Dimension>("subtab_indicator_height", 0.0_vp); 61 theme->subTabTextOnColor_ = pattern->GetAttr<Color>("subtab_text_on_color", Color::WHITE); 62 theme->subTabTextOffColor_ = pattern->GetAttr<Color>("subtab_text_off_color", Color::WHITE); 63 theme->subTabBoardTextOnColor_ = pattern->GetAttr<Color>("subtab_board_text_on_color", Color::WHITE); 64 theme->subTabIndicatorGap_ = pattern->GetAttr<Dimension>("subtab_indicator_gap", 0.0_vp); 65 theme->subTabHorizontalPadding_ = pattern->GetAttr<Dimension>("subtab_horizontal_padding", 0.0_vp); 66 theme->subTabTopPadding_ = pattern->GetAttr<Dimension>("subtab_top_padding", 0.0_vp); 67 theme->subTabBottomPadding_ = pattern->GetAttr<Dimension>("subtab_bottom_padding", 0.0_vp); 68 theme->subTabItemPadding_ = pattern->GetAttr<Dimension>("subtab_item_padding", 0.0_vp); 69 theme->subTabBarHoverColor_ = pattern->GetAttr<Color>("subtab_hover_color", Color::WHITE); 70 theme->subTabBarPressedColor_ = pattern->GetAttr<Color>("subtab_press_color", Color::WHITE); 71 theme->subtabTextDefaultFontSize_ = 72 pattern->GetAttr<Dimension>("subtab_text_default_font_size", 0.0_vp); 73 theme->subtabLandscapeHorizontalPadding_ = 74 pattern->GetAttr<Dimension>("subtab_landscape_horizontal_padding", 0.0_vp); 75 theme->bottomTabHorizontalPadding_ = 76 pattern->GetAttr<Dimension>("bottom_tab_horizontal_padding", 0.0_vp); 77 theme->bottomTabTextOn_ = pattern->GetAttr<Color>("bottom_tab_text_on", Color::WHITE); 78 theme->bottomTabTextOff_ = pattern->GetAttr<Color>("bottom_tab_text_off", Color::WHITE); 79 theme->bottomTabIconOn_ = pattern->GetAttr<Color>("bottom_tab_icon", Color::WHITE); 80 theme->bottomTabIconOff_ = pattern->GetAttr<Color>("bottom_tab_icon_off", Color::WHITE); 81 theme->bottomTabSymbolOn_ = pattern->GetAttr<Color>("bottom_tab_symbol", Color(0xFF007DFF)); 82 theme->bottomTabSymbolOff_ = pattern->GetAttr<Color>("bottom_tab_symbol_off", Color(0x66182431)); 83 theme->bottomTabImageSize_ = pattern->GetAttr<Dimension>("bottom_tab_image_size", 0.0_vp); 84 theme->bottomTabTextSize_ = pattern->GetAttr<Dimension>("bottom_tab_text_size", 0.0_vp); 85 theme->bottomTabHorizontalTextSize_ = 86 pattern->GetAttr<Dimension>("bottom_tab_horizontal_text_size", BOTTOM_BAR_HORIZONTAL_TEXT_SIZE); 87 theme->bottomTabBackgroundBlurStyle_ = pattern->GetAttr<int>("bottom_tab_bar_bg_blur_style", 0); 88 theme->defaultTabBarName_ = pattern->GetAttr<std::string>("default_tab_bar_name", ""); 89 theme->bottomTabBarSpace_ = pattern->GetAttr<Dimension>("bottom_tab_bar_space", 0.0_vp); 90 theme->horizontalBottomTabBarSpace_ = 91 pattern->GetAttr<Dimension>("horizontal_bottom_tab_bar_space", 0.0_vp); 92 theme->subTabBarHoverDuration_ = pattern->GetAttr<double>("sub_tab_bar_hover_duration", 0.0); 93 theme->subTabBarBigFontSizeScale_ = 94 pattern->GetAttr<double>("sub_tab_bar_big_font_size_scale", BIGFONT_DEFAULT_VALUE); 95 theme->subTabBarLargeFontSizeScale_ = 96 pattern->GetAttr<double>("sub_tab_bar_large_font_size_scale", LARGEFONT_DEFAULT_VALUE); 97 theme->subTabBarMaxFontSizeScale_ = 98 pattern->GetAttr<double>("sub_tab_bar_max_font_size_scale", MAXFONT_DEFAULT_VALUE); 99 theme->subTabBarOriginFontSizeScale_ = 100 pattern->GetAttr<double>("sub_tab_bar_origin_font_size_scale", 1.0); 101 theme->subTabBarLeftRightMargin_ = 102 pattern->GetAttr<Dimension>("sub_tab_bar_left_right_margin", 12.0_vp); 103 theme->subTabBarIndicatorstyleMarginTop_ = 104 pattern->GetAttr<Dimension>("sub_tab_bar_indicatorstyle_margin_top", 4.0_vp); 105 theme->subTabBarThirdLargeFontSizeScale_ = 106 pattern->GetAttr<double>("sub_tab_bar_third_large_font_size_scale", THIRDFONT_DEFAULT_VALUE); 107 108 ParseAttribute(theme, pattern); 109 theme->dialog_radius_level10_ = pattern->GetAttr<Dimension>("dialog_radius_level10", 20.0_vp); 110 theme->dialog_iconColor_ = pattern->GetAttr<Color>("dialog_icon_primary", Color(0xff182431)); 111 theme->dialog_fontColor_ = pattern->GetAttr<Color>("dialog_font_primary", Color(0xff182431)); 112 } else { 113 LOGW("find pattern of tab fail"); 114 } 115 return theme; 116 } 117 118 private: ParseAttribute(const RefPtr<TabTheme> & theme,const RefPtr<ThemeStyle> & pattern)119 void ParseAttribute(const RefPtr<TabTheme>& theme, const RefPtr<ThemeStyle>& pattern) const 120 { 121 theme->subTabBarHoverToPressDuration_ = 122 pattern->GetAttr<double>("sub_tab_bar_hover_to_press_duration", 0.0); 123 theme->tabContentAnimationDuration_ = 124 pattern->GetAttr<double>("tab_content_animation_duration", 0.0); 125 theme->tabBarDefaultHeight_ = pattern->GetAttr<Dimension>("tab_bar_default_height", 0.0_vp); 126 theme->bottomTabBarDefaultHeight_ = 127 pattern->GetAttr<Dimension>("bottom_tab_bar_default_height", 0.0_vp); 128 theme->tabBarDefaultWidth_ = pattern->GetAttr<Dimension>("tab_bar_default_width", 0.0_vp); 129 theme->subTabBarMinWidth_ = pattern->GetAttr<Dimension>("sub_tab_bar_min_width", 0.0_vp); 130 theme->dividerColor_ = pattern->GetAttr<Color>("divider_color", Color::BLACK); 131 theme->tabBarShadowMargin_ = pattern->GetAttr<Dimension>("tab_bar_shadow_margin", 0.0_vp); 132 theme->tabBarGradientWidth_ = pattern->GetAttr<Dimension>("tab_bar_gradient_width", 0.0_vp); 133 theme->colorBottomTabSubBg_ = pattern->GetAttr<Color>("color_bottom_tab_sub_bg", Color::WHITE); 134 theme->colorBottomTabSubBgBlur_ = pattern->GetAttr<Color>("color_bottom_tab_sub_bg_blur", Color::WHITE); 135 theme->tabBarColumnGutter_ = pattern->GetAttr<Dimension>("tab_bar_column_gutter", 0.0_vp); 136 theme->tabBarColumnMargin_ = pattern->GetAttr<Dimension>("tab_bar_column_margin", 0.0_vp); 137 theme->horizontalBottomTabMinWidth_ = 138 pattern->GetAttr<Dimension>("horizontal_bottom_tab_min_width", 0.0_vp); 139 140 theme->labelPadding_ = pattern->GetAttr<Dimension>("label_padding", 8.0_vp); 141 theme->padding_ = pattern->GetAttr<Dimension>("tab_padding", 16.0_vp); 142 theme->gradientWidth_ = pattern->GetAttr<Dimension>("tab_gradient_width", 24.0_vp); 143 theme->defaultHeight_ = pattern->GetAttr<Dimension>("tab_default_height", 56.0_vp); 144 theme->defaultWidth_ = pattern->GetAttr<Dimension>("tab_default_width", 200.0_px); 145 theme->defaultItemHeight_ = pattern->GetAttr<Dimension>("tab_default_item_height", 200.0_px); 146 theme->activeIndicatorWidth_ = pattern->GetAttr<Dimension>("active_indicator_width", 2.0_vp); 147 theme->activeIndicatorMinWidth_ = pattern->GetAttr<Dimension>("active_indicator_min_width", 32.0_vp); 148 theme->activeIndicatorPadding_ = pattern->GetAttr<Dimension>("active_indicator_padding", 3.0_vp); 149 theme->focusIndicatorHorizontalPadding_ = 150 pattern->GetAttr<Dimension>("focus_indicator_horizontal_padding", 0.0_vp); 151 theme->focusIndicatorVerticalPadding_ = 152 pattern->GetAttr<Dimension>("focus_indicator_vertical_padding", 0.0_vp); 153 } 154 }; 155 156 ~TabTheme() override = default; 157 GetLabelPadding()158 const Dimension& GetLabelPadding() const 159 { 160 return labelPadding_; 161 } 162 GetPadding()163 const Dimension& GetPadding() const 164 { 165 return padding_; 166 } 167 GetGradientWidth()168 const Dimension& GetGradientWidth() const 169 { 170 return gradientWidth_; 171 } 172 GetDefaultHeight()173 const Dimension& GetDefaultHeight() const 174 { 175 return defaultHeight_; 176 } 177 GetDefaultWidth()178 const Dimension& GetDefaultWidth() const 179 { 180 return defaultWidth_; 181 } 182 GetDefaultItemHeight()183 const Dimension& GetDefaultItemHeight() const 184 { 185 return defaultItemHeight_; 186 } 187 GetBackgroundColor()188 const Color& GetBackgroundColor() const 189 { 190 return backgroundColor_; 191 } 192 GetActiveIndicatorColor()193 const Color& GetActiveIndicatorColor() const 194 { 195 return activeIndicatorColor_; 196 } 197 GetActiveIndicatorWidth()198 const Dimension& GetActiveIndicatorWidth() const 199 { 200 return activeIndicatorWidth_; 201 } 202 GetActiveIndicatorMinWidth()203 const Dimension& GetActiveIndicatorMinWidth() const 204 { 205 return activeIndicatorMinWidth_; 206 } 207 GetActiveIndicatorPadding()208 const Dimension& GetActiveIndicatorPadding() const 209 { 210 return activeIndicatorPadding_; 211 } 212 GetFocusIndicatorColor()213 const Color& GetFocusIndicatorColor() const 214 { 215 return focusIndicatorColor_; 216 } 217 GetFocusIndicatorRadius()218 const Dimension& GetFocusIndicatorRadius() const 219 { 220 return focusIndicatorRadius_; 221 } 222 GetFocusIndicatorHorizontalPadding()223 const Dimension& GetFocusIndicatorHorizontalPadding() const 224 { 225 return focusIndicatorHorizontalPadding_; 226 } 227 GetFocusIndicatorVerticalPadding()228 const Dimension& GetFocusIndicatorVerticalPadding() const 229 { 230 return focusIndicatorVerticalPadding_; 231 } 232 GetSubTabTextOnColor()233 const Color& GetSubTabTextOnColor() const 234 { 235 return subTabTextOnColor_; 236 } 237 GetSubTabTextOffColor()238 const Color& GetSubTabTextOffColor() const 239 { 240 return subTabTextOffColor_; 241 } 242 GetSubTabBoardTextOnColor()243 const Color& GetSubTabBoardTextOnColor() const 244 { 245 return subTabBoardTextOnColor_; 246 } 247 GetSubTabIndicatorHeight()248 const Dimension& GetSubTabIndicatorHeight() const 249 { 250 return subTabIndicatorHeight_; 251 } 252 GetSubTabIndicatorGap()253 const Dimension& GetSubTabIndicatorGap() const 254 { 255 return subTabIndicatorGap_; 256 } 257 GetSubTabHorizontalPadding()258 const Dimension& GetSubTabHorizontalPadding() const 259 { 260 return subTabHorizontalPadding_; 261 } 262 GetSubTabItemPadding()263 const Dimension& GetSubTabItemPadding() const 264 { 265 return subTabItemPadding_; 266 } 267 GetSubTabTopPadding()268 const Dimension& GetSubTabTopPadding() const 269 { 270 return subTabTopPadding_; 271 } 272 GetSubTabBottomPadding()273 const Dimension& GetSubTabBottomPadding() const 274 { 275 return subTabBottomPadding_; 276 } 277 GetSubTabBarHoverColor()278 const Color& GetSubTabBarHoverColor() const 279 { 280 return subTabBarHoverColor_; 281 } 282 GetSubTabBarPressedColor()283 const Color& GetSubTabBarPressedColor() const 284 { 285 return subTabBarPressedColor_; 286 } 287 GetSubTabTextDefaultFontSize()288 const Dimension& GetSubTabTextDefaultFontSize() const 289 { 290 return subtabTextDefaultFontSize_; 291 } 292 GetSubtabLandscapeHorizontalPadding()293 const Dimension& GetSubtabLandscapeHorizontalPadding() const 294 { 295 return subtabLandscapeHorizontalPadding_; 296 } 297 GetBottomTabHorizontalPadding()298 const Dimension& GetBottomTabHorizontalPadding() const 299 { 300 return bottomTabHorizontalPadding_; 301 } 302 GetBottomTabTextOn()303 const Color& GetBottomTabTextOn() const 304 { 305 return bottomTabTextOn_; 306 } 307 GetBottomTabTextOff()308 const Color& GetBottomTabTextOff() const 309 { 310 return bottomTabTextOff_; 311 } 312 GetBottomTabIconOn()313 const Color& GetBottomTabIconOn() const 314 { 315 return bottomTabIconOn_; 316 } 317 GetBottomTabIconOff()318 const Color& GetBottomTabIconOff() const 319 { 320 return bottomTabIconOff_; 321 } 322 GetBottomTabSymbolOn()323 const Color& GetBottomTabSymbolOn() const 324 { 325 return bottomTabSymbolOn_; 326 } 327 GetBottomTabSymbolOff()328 const Color& GetBottomTabSymbolOff() const 329 { 330 return bottomTabSymbolOff_; 331 } 332 GetBottomTabImageSize()333 const Dimension& GetBottomTabImageSize() const 334 { 335 return bottomTabImageSize_; 336 } 337 GetBottomTabTextSize()338 const Dimension& GetBottomTabTextSize() const 339 { 340 return bottomTabTextSize_; 341 } 342 GetBottomTabHorizontalTextSize()343 const Dimension& GetBottomTabHorizontalTextSize() const 344 { 345 return bottomTabHorizontalTextSize_; 346 } 347 GetBottomTabBackgroundBlurStyle()348 const int& GetBottomTabBackgroundBlurStyle() const 349 { 350 return bottomTabBackgroundBlurStyle_; 351 } 352 GetDefaultTabBarName()353 const std::string& GetDefaultTabBarName() const 354 { 355 return defaultTabBarName_; 356 } 357 GetBottomTabBarSpace()358 const Dimension& GetBottomTabBarSpace() const 359 { 360 return bottomTabBarSpace_; 361 } 362 GetHorizontalBottomTabBarSpace()363 const Dimension& GetHorizontalBottomTabBarSpace() const 364 { 365 return horizontalBottomTabBarSpace_; 366 } 367 GetSubTabBarHoverDuration()368 double GetSubTabBarHoverDuration() const 369 { 370 return subTabBarHoverDuration_; 371 } 372 GetSubTabBarHoverToPressDuration()373 double GetSubTabBarHoverToPressDuration() const 374 { 375 return subTabBarHoverToPressDuration_; 376 } 377 GetTabContentAnimationDuration()378 double GetTabContentAnimationDuration() const 379 { 380 return tabContentAnimationDuration_; 381 } 382 GetTabBarDefaultHeight()383 const Dimension& GetTabBarDefaultHeight() const 384 { 385 return tabBarDefaultHeight_; 386 } 387 GetTabBarDefaultWidth()388 const Dimension& GetTabBarDefaultWidth() const 389 { 390 return tabBarDefaultWidth_; 391 } 392 GetSubTabBarMinWidth()393 const Dimension& GetSubTabBarMinWidth() const 394 { 395 return subTabBarMinWidth_; 396 } 397 GetDividerColor()398 const Color& GetDividerColor() const 399 { 400 return dividerColor_; 401 } 402 GetTabBarShadowMargin()403 const Dimension& GetTabBarShadowMargin() const 404 { 405 return tabBarShadowMargin_; 406 } 407 GetTabBarGradientWidth()408 const Dimension& GetTabBarGradientWidth() const 409 { 410 return tabBarGradientWidth_; 411 } 412 GetColorBottomTabSubBg()413 const Color& GetColorBottomTabSubBg() const 414 { 415 return colorBottomTabSubBg_; 416 } GetColorBottomTabSubBgBlur()417 const Color& GetColorBottomTabSubBgBlur() const 418 { 419 return colorBottomTabSubBgBlur_; 420 } 421 GetTabBarColumnGutter()422 const Dimension& GetTabBarColumnGutter() const 423 { 424 return tabBarColumnGutter_; 425 } 426 GetTabBarColumnMargin()427 const Dimension& GetTabBarColumnMargin() const 428 { 429 return tabBarColumnMargin_; 430 } 431 GetsubTabBarThirdLargeFontSizeScale()432 float GetsubTabBarThirdLargeFontSizeScale() const 433 { 434 return subTabBarThirdLargeFontSizeScale_; 435 } 436 GetHorizontalBottomTabMinWidth()437 const Dimension& GetHorizontalBottomTabMinWidth() const 438 { 439 return horizontalBottomTabMinWidth_; 440 } GetBottomTabBarDefaultWidth()441 const Dimension& GetBottomTabBarDefaultWidth() const 442 { 443 return bottomTabBarDefaultHeight_; 444 } GetDialogRadiusLevel10()445 const Dimension& GetDialogRadiusLevel10() const 446 { 447 return dialog_radius_level10_; 448 } GetDialogIconColor()449 const Color& GetDialogIconColor() const 450 { 451 return dialog_iconColor_; 452 } GetDialogFontColor()453 const Color& GetDialogFontColor() const 454 { 455 return dialog_fontColor_; 456 } GetSubTabBarBigFontSizeScale()457 float GetSubTabBarBigFontSizeScale() const 458 { 459 return subTabBarBigFontSizeScale_; 460 } GetSubTabBarLargeFontSizeScale()461 float GetSubTabBarLargeFontSizeScale() const 462 { 463 return subTabBarLargeFontSizeScale_; 464 } GetSubTabBarMaxFontSizeScale()465 float GetSubTabBarMaxFontSizeScale() const 466 { 467 return subTabBarMaxFontSizeScale_; 468 } GetSubTabBarOriginFontSizeScale()469 float GetSubTabBarOriginFontSizeScale() const 470 { 471 return subTabBarOriginFontSizeScale_; 472 } GetSubTabBarLeftRightMargin()473 const Dimension& GetSubTabBarLeftRightMargin() const 474 { 475 return subTabBarLeftRightMargin_; 476 } GetSubTabBarIndicatorstyleMarginTop()477 const Dimension& GetSubTabBarIndicatorstyleMarginTop() const 478 { 479 return subTabBarIndicatorstyleMarginTop_; 480 } 481 482 protected: 483 TabTheme() = default; 484 485 private: 486 Dimension labelPadding_; 487 Dimension padding_; 488 Dimension gradientWidth_; 489 Dimension defaultHeight_; 490 Dimension defaultWidth_; 491 Dimension defaultItemHeight_; 492 Color backgroundColor_; 493 Color activeIndicatorColor_; 494 Dimension activeIndicatorWidth_; 495 Dimension activeIndicatorMinWidth_; 496 Dimension activeIndicatorPadding_; 497 Color focusIndicatorColor_; 498 Dimension focusIndicatorRadius_; 499 Dimension focusIndicatorHorizontalPadding_; 500 Dimension focusIndicatorVerticalPadding_; 501 Color subTabTextOnColor_; 502 Color subTabTextOffColor_; 503 Color subTabBoardTextOnColor_; 504 Dimension subTabIndicatorHeight_; 505 Dimension subTabIndicatorGap_; 506 Dimension subTabHorizontalPadding_; 507 Dimension subTabTopPadding_; 508 Dimension subTabBottomPadding_; 509 Dimension subTabItemPadding_; 510 Color subTabBarHoverColor_; 511 Color subTabBarPressedColor_; 512 Dimension subtabTextDefaultFontSize_; 513 Dimension subtabLandscapeHorizontalPadding_; 514 Dimension bottomTabHorizontalPadding_; 515 Color bottomTabTextOn_; 516 Color bottomTabTextOff_; 517 Color bottomTabIconOn_; 518 Color bottomTabIconOff_; 519 Color bottomTabSymbolOn_; 520 Color bottomTabSymbolOff_; 521 Dimension bottomTabImageSize_; 522 Dimension bottomTabTextSize_; 523 Dimension bottomTabHorizontalTextSize_; 524 std::string defaultTabBarName_; 525 Dimension bottomTabBarSpace_; 526 Dimension horizontalBottomTabBarSpace_; 527 double subTabBarHoverDuration_; 528 double subTabBarHoverToPressDuration_; 529 double tabContentAnimationDuration_; 530 Dimension tabBarDefaultHeight_; 531 Dimension bottomTabBarDefaultHeight_; 532 Dimension tabBarDefaultWidth_; 533 Dimension subTabBarMinWidth_; 534 Color dividerColor_; 535 Dimension tabBarShadowMargin_; 536 Dimension tabBarGradientWidth_; 537 Color colorBottomTabSubBg_; 538 Color colorBottomTabSubBgBlur_; 539 Dimension tabBarColumnGutter_; 540 Dimension tabBarColumnMargin_; 541 Dimension horizontalBottomTabMinWidth_; 542 Dimension dialog_radius_level10_; 543 Color dialog_iconColor_; 544 Color dialog_fontColor_; 545 int bottomTabBackgroundBlurStyle_; 546 float subTabBarBigFontSizeScale_ = 1.75f; 547 float subTabBarLargeFontSizeScale_ = 2.0f; 548 float subTabBarMaxFontSizeScale_ = 3.2f; 549 float subTabBarOriginFontSizeScale_ = 1.0f; 550 Dimension subTabBarLeftRightMargin_; 551 Dimension subTabBarIndicatorstyleMarginTop_; 552 float subTabBarThirdLargeFontSizeScale_ = 1.45f; 553 }; 554 555 } // namespace OHOS::Ace 556 557 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_TAB_BAR_TAB_THEME_H 558