From 280b0a6f5b2fd0ab0067a425edde2cab0397e93e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=AE=9D=E8=BF=AA?= Date: Mon, 11 Nov 2024 21:08:07 +0800 Subject: [PATCH] add Tabs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈宝迪 --- .../ArkUITabScrollable.test.ets | 79 + .../ArkUITabsIconStyleSelectedColor.test.ets | 195 ++ ...ArkUITabsIconStyleUnselectedColor.test.ets | 181 ++ .../ArkUITabsLabelStyleSelectedColor.test.ets | 469 +++++ ...rkUITabsLabelStyleUnselectedColor.test.ets | 349 ++++ .../ArkUITabsLabelStylefont.test.ets | 386 ++++ .../ArkUITabsSingleSelectedcolor.test.ets | 87 + .../ArkUITabsSingleUnselectedcolor.test.ets | 42 + .../ArkUITabsVertical.test.ets | 54 + .../FunctionJichuWaterFlow.test.ets | 70 + .../entry/src/ohosTest/ets/test/List.test.ets | 67 + ...IComponentListAndGridWaterFlowAdd.test.ets | 308 +++ ...ComponentListAndGridWaterSections.test.ets | 295 +++ .../UIComponentNavModifier.test.ets | 484 +++++ .../UIComponentNavTabsAction.test.ets | 119 ++ .../UIComponentNavTabsBlurStyle.test.ets | 1645 +++++++++++++++++ .../UIComponentNavTabsCachedCount.test.ets | 95 + .../UIComponentNavTabsContentAdapt.test.ets | 699 +++++++ .../UIComponentNavTabsEdgeeffect.test.ets | 55 + .../UIComponentNavTabsExpandsafearea.test.ets | 198 ++ .../UIComponentNavTabsHeight.test.ets | 43 + .../UIComponentNavTabsImproTrace.test.ets | 354 ++++ .../UIComponentNavTabsInterception.test.ets | 295 +++ .../UIComponentNavTabsInterface.test.ets | 103 ++ .../UIComponentNavTabsMirror.test.ets | 378 ++++ .../UIComponentNavTabsOnWillShow.test.ets | 55 + .../UIComponentNavTabsSubTabbarStyle.test.ets | 55 + .../UIComponentNavTabsWidth.test.ets | 45 + .../UIComponentOtherRefreshAbility.test.ets | 169 ++ ...IComponentOtherRefreshInterAction.test.ets | 125 ++ .../UIComponentOtherRefreshInterface.test.ets | 102 + ...UIComponentOtherRefreshPromptText.test.ets | 174 ++ .../UIComponentTabTabBarSymbol.test.ets | 417 +++++ .../ArkUITabScrollable001.ets | 56 + .../ArkUITabScrollable002.ets | 56 + .../ArkUITabsIconStyleSelectedColor001.ets | 45 + .../ArkUITabsIconStyleSelectedColor004.ets | 45 + .../ArkUITabsIconStyleSelectedColor008.ets | 45 + .../ArkUITabsIconStyleSelectedColor013.ets | 45 + .../ArkUITabsIconStyleSelectedColor014.ets | 45 + .../ArkUITabsIconStyleSelectedColor022.ets | 45 + .../ArkUITabsIconStyleSelectedColor024.ets | 45 + .../ArkUITabsIconStyleSelectedColor025.ets | 45 + .../ArkUITabsIconStyleSelectedColor026.ets | 45 + .../ArkUITabsIconStyleSelectedColor027.ets | 45 + .../ArkUITabsIconStyleSelectedColor028.ets | 45 + .../ArkUITabsIconStyleSelectedColor029.ets | 45 + .../ArkUITabsIconStyleUnselectedColor002.ets | 45 + .../ArkUITabsIconStyleUnselectedColor005.ets | 45 + .../ArkUITabsIconStyleUnselectedColor014.ets | 45 + .../ArkUITabsIconStyleUnselectedColor016.ets | 45 + .../ArkUITabsIconStyleUnselectedColor021.ets | 45 + .../ArkUITabsIconStyleUnselectedColor022.ets | 45 + .../ArkUITabsIconStyleUnselectedColor024.ets | 45 + .../ArkUITabsIconStyleUnselectedColor026.ets | 45 + .../ArkUITabsIconStyleUnselectedColor027.ets | 45 + .../ArkUITabsIconStyleUnselectedColor028.ets | 45 + .../ArkUITabsIconStyleUnselectedColor029.ets | 45 + .../ArkUITabsLabelStyleSelectedColor001.ets | 65 + .../ArkUITabsLabelStyleSelectedColor003.ets | 65 + .../ArkUITabsLabelStyleSelectedColor005.ets | 65 + .../ArkUITabsLabelStyleSelectedColor007.ets | 65 + .../ArkUITabsLabelStyleSelectedColor009.ets | 65 + .../ArkUITabsLabelStyleSelectedColor011.ets | 65 + .../ArkUITabsLabelStyleSelectedColor012.ets | 44 + .../ArkUITabsLabelStyleSelectedColor013.ets | 65 + .../ArkUITabsLabelStyleSelectedColor015.ets | 44 + .../ArkUITabsLabelStyleSelectedColor017.ets | 65 + .../ArkUITabsLabelStyleSelectedColor019.ets | 65 + .../ArkUITabsLabelStyleSelectedColor021.ets | 44 + .../ArkUITabsLabelStyleSelectedColor023.ets | 44 + .../ArkUITabsLabelStyleSelectedColor024.ets | 44 + .../ArkUITabsLabelStyleSelectedColor025.ets | 44 + .../ArkUITabsLabelStyleSelectedColor026.ets | 44 + .../ArkUITabsLabelStyleSelectedColor027.ets | 65 + .../ArkUITabsLabelStyleSelectedColor028.ets | 44 + .../ArkUITabsLabelStyleSelectedColor029.ets | 65 + .../ArkUITabsLabelStyleUnselectedColor001.ets | 65 + .../ArkUITabsLabelStyleUnselectedColor005.ets | 65 + .../ArkUITabsLabelStyleUnselectedColor008.ets | 65 + .../ArkUITabsLabelStyleUnselectedColor011.ets | 65 + .../ArkUITabsLabelStyleUnselectedColor012.ets | 65 + .../ArkUITabsLabelStyleUnselectedColor017.ets | 65 + .../ArkUITabsLabelStyleUnselectedColor021.ets | 65 + .../ArkUITabsLabelStyleUnselectedColor022.ets | 65 + .../ArkUITabsLabelStyleUnselectedColor024.ets | 49 + .../ArkUITabsLabelStyleUnselectedColor025.ets | 69 + .../ArkUITabsLabelStyleUnselectedColor026.ets | 65 + .../ArkUITabsLabelStyleUnselectedColor027.ets | 65 + .../ArkUITabsLabelStyleUnselectedColor028.ets | 65 + .../ArkUITabsLabelStylefont001.ets | 44 + .../ArkUITabsLabelStylefont003.ets | 44 + .../ArkUITabsLabelStylefont004.ets | 44 + .../ArkUITabsLabelStylefont005.ets | 107 ++ .../ArkUITabsLabelStylefont006.ets | 38 + .../ArkUITabsLabelStylefont007.ets | 97 + .../ArkUITabsLabelStylefont008.ets | 97 + .../ArkUITabsLabelStylefont009.ets | 97 + .../ArkUITabsLabelStylefont010.ets | 97 + .../ArkUITabsLabelStylefont011.ets | 97 + .../ArkUITabsLabelStylefont012.ets | 44 + .../ArkUITabsLabelStylefont013.ets | 44 + .../ArkUITabsLabelStylefont015.ets | 107 ++ .../ArkUITabsLabelStylefont016.ets | 107 ++ .../ArkUITabsLabelStylefont017.ets | 44 + .../ArkUITabsLabelStylefont018.ets | 44 + .../ArkUITabsLabelStylefont019.ets | 38 + .../ArkUITabsLabelStylefont020.ets | 106 ++ .../ArkUITabsSingleSelectedcolor002.ets | 38 + .../ArkUITabsSingleSelectedcolor005.ets | 38 + .../ArkUITabsSingleSelectedcolor008.ets | 38 + .../ArkUITabsSingleSelectedcolor011.ets | 38 + .../ArkUITabsSingleUnselectedcolor003.ets | 38 + .../ArkUITabsVertical001.ets | 55 + .../FunctionJichuWaterFlow001806.ets | 273 +++ .../FunctionJichuWaterFlow0350.ets | 283 +++ ...omponentListAndGridWaterFlowAdd0080458.ets | 231 +++ ...omponentListAndGridWaterFlowAdd0090321.ets | 231 +++ ...omponentListAndGridWaterFlowAdd0100678.ets | 231 +++ ...omponentListAndGridWaterFlowAdd0110972.ets | 231 +++ ...omponentListAndGridWaterFlowAdd0120725.ets | 230 +++ ...omponentListAndGridWaterFlowAdd0130072.ets | 240 +++ ...omponentListAndGridWaterFlowAdd0140666.ets | 239 +++ ...omponentListAndGridWaterFlowAdd0150827.ets | 230 +++ ...omponentListAndGridWaterFlowAdd0160890.ets | 239 +++ ...omponentListAndGridWaterFlowAdd0170444.ets | 230 +++ ...omponentListAndGridWaterFlowAdd0270011.ets | 240 +++ ...omponentListAndGridWaterFlowAdd0280056.ets | 230 +++ ...omponentListAndGridWaterFlowAdd0290223.ets | 230 +++ ...omponentListAndGridWaterFlowAdd0300414.ets | 230 +++ ...omponentListAndGridWaterFlowAdd0310330.ets | 230 +++ ...omponentListAndGridWaterFlowAdd0320534.ets | 230 +++ ...IComponentListAndGridWaterSections0370.ets | 287 +++ ...IComponentListAndGridWaterSections0380.ets | 286 +++ ...IComponentListAndGridWaterSections0390.ets | 286 +++ ...IComponentListAndGridWaterSections0400.ets | 286 +++ ...IComponentListAndGridWaterSections0410.ets | 285 +++ ...IComponentListAndGridWaterSections0420.ets | 290 +++ ...IComponentListAndGridWaterSections0500.ets | 254 +++ ...IComponentListAndGridWaterSections0510.ets | 255 +++ ...IComponentListAndGridWaterSections0520.ets | 252 +++ ...IComponentListAndGridWaterSections0530.ets | 252 +++ ...IComponentListAndGridWaterSections0540.ets | 260 +++ ...IComponentListAndGridWaterSections0560.ets | 269 +++ .../UIComponentNavModifier0370.ets | 66 + .../UIComponentNavModifier0380.ets | 47 + .../UIComponentNavModifier0400.ets | 47 + .../UIComponentNavModifier041.ets | 76 + .../UIComponentNavModifier043.ets | 84 + .../UIComponentNavModifier044.ets | 77 + .../UIComponentNavModifier045.ets | 68 + .../UIComponentNavModifier046.ets | 68 + .../UIComponentNavModifier048.ets | 68 + .../UIComponentNavModifier053.ets | 72 + .../UIComponentNavModifier056.ets | 73 + .../UIComponentNavModifier058.ets | 72 + .../UIComponentNavModifier060.ets | 81 + .../UIComponentNavModifier063.ets | 117 ++ .../UIComponentNavModifier065.ets | 117 ++ .../UIComponentNavModifier066.ets | 117 ++ .../UIComponentNavModifier0770.ets | 75 + .../UIComponentNavModifier0810.ets | 75 + .../UIComponentNavModifier083.ets | 123 ++ .../UIComponentNavModifier0840.ets | 75 + .../UIComponentNavModifier0860.ets | 75 + .../UIComponentNavModifier0900.ets | 73 + .../UIComponentNavModifier0920.ets | 73 + .../UIComponentNavTabsAction0011.ets | 76 + .../UIComponentNavTabsAction0012.ets | 69 + .../UIComponentNavTabsAction0030.ets | 122 ++ .../UIComponentNavTabsBlurStyle0010.ets | 132 ++ .../UIComponentNavTabsBlurStyle0011.ets | 132 ++ .../UIComponentNavTabsBlurStyle0012.ets | 132 ++ .../UIComponentNavTabsBlurStyle0013.ets | 132 ++ .../UIComponentNavTabsBlurStyle0014.ets | 132 ++ .../UIComponentNavTabsBlurStyle0015.ets | 131 ++ .../UIComponentNavTabsBlurStyle0016.ets | 132 ++ .../UIComponentNavTabsBlurStyle0017.ets | 129 ++ .../UIComponentNavTabsBlurStyle0018.ets | 78 + .../UIComponentNavTabsBlurStyle0019.ets | 90 + .../UIComponentNavTabsBlurStyle0020.ets | 83 + .../UIComponentNavTabsBlurStyle0021.ets | 80 + .../UIComponentNavTabsBlurStyle0022.ets | 69 + .../UIComponentNavTabsBlurStyle0023.ets | 76 + .../UIComponentNavTabsBlurStyle0024.ets | 68 + .../UIComponentNavTabsBlurStyle0025.ets | 98 + .../UIComponentNavTabsBlurStyle0026.ets | 83 + .../UIComponentNavTabsBlurStyle0027.ets | 133 ++ .../UIComponentNavTabsBlurStyle0028.ets | 72 + .../UIComponentNavTabsBlurStyle0029.ets | 92 + .../UIComponentNavTabsBlurStyle0030.ets | 89 + .../UIComponentNavTabsBlurStyle0031.ets | 89 + .../UIComponentNavTabsBlurStyle0032.ets | 89 + .../UIComponentNavTabsBlurStyle0033.ets | 87 + .../UIComponentNavTabsBlurStyle0034.ets | 87 + .../UIComponentNavTabsBlurStyle0035.ets | 88 + .../UIComponentNavTabsBlurStyle0036.ets | 88 + .../UIComponentNavTabsBlurStyle0038.ets | 72 + .../UIComponentNavTabsBlurStyle0039.ets | 91 + .../UIComponentNavTabsBlurStyle0040.ets | 88 + .../UIComponentNavTabsBlurStyle0041.ets | 88 + .../UIComponentNavTabsBlurStyle0042.ets | 82 + .../UIComponentNavTabsBlurStyle0043.ets | 83 + .../UIComponentNavTabsBlurStyle0044.ets | 84 + .../UIComponentNavTabsBlurStyle0045.ets | 72 + .../UIComponentNavTabsBlurStyle0046.ets | 72 + .../UIComponentNavTabsBlurStyle0047.ets | 71 + .../UIComponentNavTabsBlurStyle0048.ets | 93 + .../UIComponentNavTabsBlurStyle0049.ets | 78 + .../UIComponentNavTabsBlurStyle0050.ets | 78 + .../UIComponentNavTabsBlurStyle0051.ets | 80 + .../UIComponentNavTabsBlurStyle0052.ets | 96 + .../UIComponentNavTabsBlurStyle0053.ets | 82 + .../UIComponentNavTabsBlurStyle0060.ets | 39 + .../UIComponentNavTabsBlurStyle0080.ets | 39 + .../UIComponentNavTabsBlurStyle0100.ets | 43 + .../UIComponentNavTabsBlurStyle0110.ets | 40 + .../UIComponentNavTabsBlurStyle0160.ets | 40 + .../UIComponentNavTabsBlurStyle0170.ets | 40 + .../UIComponentNavTabsBlurStyle0180.ets | 40 + .../UIComponentNavTabsBlurStyle0190.ets | 41 + .../UIComponentNavTabsBlurStyle0200.ets | 40 + .../UIComponentNavTabsBlurStyle0210.ets | 40 + .../UIComponentNavTabsBlurStyle0220.ets | 44 + .../UIComponentNavTabsBlurStyle0230.ets | 41 + .../UIComponentNavTabsBlurStyle0240.ets | 41 + .../UIComponentNavTabsBlurStyle0250.ets | 41 + .../UIComponentNavTabsBlurStyle0260.ets | 41 + .../UIComponentNavTabsBlurStyle0270.ets | 41 + .../UIComponentNavTabsBlurStyle0280.ets | 41 + .../UIComponentNavTabsBlurStyle0290.ets | 41 + .../UIComponentNavTabsBlurStyle0300.ets | 41 + .../UIComponentNavTabsBlurStyle0310.ets | 41 + .../UIComponentNavTabsBlurStyle0320.ets | 41 + .../UIComponentNavTabsBlurStyle0340.ets | 41 + .../UIComponentNavTabsBlurStyle0350.ets | 41 + .../UIComponentNavTabsBlurStyle0360.ets | 43 + .../UIComponentNavTabsBlurStyle0370.ets | 42 + .../UIComponentNavTabsBlurStyle0380.ets | 42 + .../UIComponentNavTabsBlurStyle0390.ets | 42 + .../UIComponentNavTabsBlurStyle0400.ets | 42 + .../UIComponentNavTabsCachedCount014.ets | 84 + .../UIComponentNavTabsCachedCount015.ets | 84 + .../UIComponentNavTabsCachedCount016.ets | 96 + .../UIComponentNavTabsContentAdapt001.ets | 112 ++ .../UIComponentNavTabsContentAdapt002.ets | 112 ++ .../UIComponentNavTabsContentAdapt003.ets | 112 ++ .../UIComponentNavTabsContentAdapt004.ets | 112 ++ .../UIComponentNavTabsContentAdapt0050.ets | 54 + .../UIComponentNavTabsContentAdapt007.ets | 135 ++ .../UIComponentNavTabsContentAdapt0080.ets | 64 + .../UIComponentNavTabsContentAdapt010.ets | 110 ++ .../UIComponentNavTabsContentAdapt011.ets | 110 ++ .../UIComponentNavTabsContentAdapt012.ets | 110 ++ .../UIComponentNavTabsContentAdapt013.ets | 110 ++ .../UIComponentNavTabsContentAdapt014.ets | 115 ++ .../UIComponentNavTabsContentAdapt0150.ets | 66 + .../UIComponentNavTabsContentAdapt0160.ets | 49 + .../UIComponentNavTabsContentAdapt0170.ets | 49 + .../UIComponentNavTabsContentAdapt0180.ets | 59 + .../UIComponentNavTabsContentAdapt0190.ets | 50 + .../UIComponentNavTabsContentAdapt0200.ets | 50 + .../UIComponentNavTabsContentAdapt0210.ets | 63 + .../UIComponentNavTabsContentAdapt0220.ets | 49 + .../UIComponentNavTabsContentAdapt0230.ets | 49 + .../UIComponentNavTabsContentAdapt0240.ets | 59 + .../UIComponentNavTabsContentAdapt0250.ets | 50 + .../UIComponentNavTabsContentAdapt0260.ets | 50 + .../UIComponentNavTabsContentAdapt027.ets | 77 + .../UIComponentNavTabsContentAdapt028.ets | 94 + .../UIComponentNavTabsContentAdapt030.ets | 64 + .../UIComponentNavTabsContentAdapt0310.ets | 56 + .../UIComponentNavTabsContentAdapt032.ets | 119 ++ .../UIComponentNavTabsContentAdapt033.ets | 132 ++ .../UIComponentNavTabsContentAdapt034.ets | 131 ++ .../UIComponentNavTabsContentAdapt035.ets | 134 ++ .../UIComponentNavTabsEdgeeffect0230.ets | 42 + .../UIComponentNavTabsEdgeeffect0270.ets | 42 + .../UIComponentNavTabsExpandsafearea0010.ets | 48 + .../UIComponentNavTabsExpandsafearea0020.ets | 50 + .../UIComponentNavTabsExpandsafearea0030.ets | 51 + .../UIComponentNavTabsExpandsafearea0040.ets | 51 + .../UIComponentNavTabsExpandsafearea0050.ets | 51 + .../UIComponentNavTabsExpandsafearea0060.ets | 51 + .../UIComponentNavTabsExpandsafearea0070.ets | 51 + .../UIComponentNavTabsExpandsafearea0080.ets | 51 + .../UIComponentNavTabsExpandsafearea0090.ets | 50 + .../UIComponentNavTabsExpandsafearea0100.ets | 78 + .../UIComponentNavTabsExpandsafearea0110.ets | 50 + .../UIComponentNavTabsExpandsafearea0120.ets | 50 + .../UIComponentNavTabsHeight001.ets | 112 ++ .../UIComponentNavTabsImproTrace0010.ets | 75 + .../UIComponentNavTabsImproTrace0020.ets | 80 + .../UIComponentNavTabsImproTrace0030.ets | 76 + .../UIComponentNavTabsImproTrace0040.ets | 76 + .../UIComponentNavTabsImproTrace0060.ets | 76 + .../UIComponentNavTabsImproTrace0070.ets | 75 + .../UIComponentNavTabsImproTrace0080.ets | 88 + .../UIComponentNavTabsImproTrace0120.ets | 82 + .../UIComponentNavTabsImproTrace0130.ets | 86 + .../UIComponentNavTabsImproTrace0140.ets | 75 + .../UIComponentNavTabsImproTrace0150.ets | 75 + .../UIComponentNavTabsImproTrace0160.ets | 235 +++ .../UIComponentNavTabsInterception0010.ets | 97 + .../UIComponentNavTabsInterception0030.ets | 96 + .../UIComponentNavTabsInterception0040.ets | 85 + .../UIComponentNavTabsInterception0050.ets | 85 + .../UIComponentNavTabsInterception0060.ets | 85 + .../UIComponentNavTabsInterception0070.ets | 85 + .../UIComponentNavTabsInterception0080.ets | 82 + .../UIComponentNavTabsInterception0090.ets | 82 + .../UIComponentNavTabsInterception0130.ets | 86 + .../UIComponentNavTabsInterception0150.ets | 65 + .../UIComponentNavTabsInterface012.ets | 57 + .../UIComponentNavTabsInterface1190.ets | 72 + .../UIComponentNavTabsInterface1220.ets | 116 ++ .../UIComponentNavTabsMirror0030.ets | 77 + .../UIComponentNavTabsMirror0070.ets | 77 + .../UIComponentNavTabsMirror0090.ets | 77 + .../UIComponentNavTabsMirror010.ets | 77 + .../UIComponentNavTabsMirror0110.ets | 87 + .../UIComponentNavTabsMirror0120.ets | 64 + .../UIComponentNavTabsMirror0130.ets | 90 + .../UIComponentNavTabsMirror0140.ets | 64 + .../UIComponentNavTabsMirror0150.ets | 70 + .../UIComponentNavTabsMirror0160.ets | 65 + .../UIComponentNavTabsMirror0250.ets | 106 ++ .../UIComponentNavTabsMirror0260.ets | 180 ++ .../UIComponentNavTabsMirror080.ets | 108 ++ .../UIComponentNavTabsOnWillShow0190.ets | 121 ++ .../UIComponentNavTabsSubTabbarStyle0010.ets | 52 + .../UIComponentNavTabsWidth001.ets | 110 ++ .../UIComponentOtherRefreshAbility0040.ets | 68 + .../UIComponentOtherRefreshAbility0050.ets | 61 + .../UIComponentOtherRefreshAbility0070.ets | 61 + .../UIComponentOtherRefreshAbility0080.ets | 61 + .../UIComponentOtherRefreshAbility0090.ets | 61 + .../UIComponentOtherRefreshAbility0100.ets | 61 + ...UIComponentOtherRefreshInterAction0380.ets | 64 + ...UIComponentOtherRefreshInterAction0390.ets | 76 + ...UIComponentOtherRefreshInterAction0400.ets | 76 + ...UIComponentOtherRefreshInterAction0410.ets | 78 + .../UIComponentOtherRefreshInterface0140.ets | 61 + .../UIComponentOtherRefreshInterface0170.ets | 61 + .../UIComponentOtherRefreshInterface0180.ets | 61 + .../UIComponentOtherRefreshPromptText0040.ets | 59 + .../UIComponentOtherRefreshPromptText0050.ets | 59 + .../UIComponentOtherRefreshPromptText0060.ets | 59 + .../UIComponentOtherRefreshPromptText0100.ets | 59 + .../UIComponentOtherRefreshPromptText0110.ets | 59 + .../UIComponentOtherRefreshPromptText0120.ets | 59 + .../UIComponentTabTabBarSymbol0010.ets | 63 + .../UIComponentTabTabBarSymbol0020.ets | 63 + .../UIComponentTabTabBarSymbol0030.ets | 63 + .../UIComponentTabTabBarSymbol0040.ets | 94 + .../UIComponentTabTabBarSymbol0060.ets | 69 + .../UIComponentTabTabBarSymbol0070.ets | 69 + .../UIComponentTabTabBarSymbol0080.ets | 69 + .../UIComponentTabTabBarSymbol0090.ets | 62 + .../UIComponentTabTabBarSymbol0110.ets | 60 + .../UIComponentTabTabBarSymbol0120.ets | 60 + .../UIComponentTabTabBarSymbol0130.ets | 72 + .../UIComponentTabTabBarSymbol0140.ets | 76 + .../UIComponentTabTabBarSymbol0150.ets | 65 + .../UIComponentTabTabBarSymbol0160.ets | 68 + .../UIComponentTabTabBarSymbol0170.ets | 68 + .../UIComponentTabTabBarSymbol0180.ets | 63 + .../UIComponentTabTabBarSymbol0190.ets | 79 + .../UIComponentTabTabBarSymbol0230.ets | 63 + .../UIComponentTabTabBarSymbol0260.ets | 69 + .../UIComponentTabTabbarTabbarsymbol0050.ets | 64 + .../UIComponentTabTabbarTabbarsymbol0240.ets | 53 + .../UIComponentTabTabbarTabbarsymbol0250.ets | 56 + .../resources/base/element/float.json | 8 + .../resources/base/element/integer.json | 27 + .../resources/base/element/string.json | 132 ++ .../resources/base/media/magnifier.svg | 13 + .../ohosTest/resources/base/media/tick.svg | 13 + .../resources/base/media/waterFlowTest.jpg | Bin 0 -> 149417 bytes .../resources/base/profile/test_pages.json | 374 +++- 380 files changed, 38209 insertions(+), 1 deletion(-) create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabScrollableTest/ArkUITabScrollable.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsIconStyleSelectedColorTest/ArkUITabsIconStyleSelectedColor.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsIconStyleUnselectedColorTest/ArkUITabsIconStyleUnselectedColor.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsLabelStyleSelectedColorTest/ArkUITabsLabelStyleSelectedColor.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsLabelStyleUnselectedColorTest/ArkUITabsLabelStyleUnselectedColor.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsLabelStylefontTest/ArkUITabsLabelStylefont.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsSingleSelectedcolorTest/ArkUITabsSingleSelectedcolor.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsSingleUnselectedcolorTest/ArkUITabsSingleUnselectedcolor.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsVerticalTest/ArkUITabsVertical.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/FunctionJichuWaterFlowTest/FunctionJichuWaterFlow.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentListAndGridWaterFlowAddTest/UIComponentListAndGridWaterFlowAdd.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentListAndGridWaterSectionsTest/UIComponentListAndGridWaterSections.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavModifierTest/UIComponentNavModifier.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsActionTest/UIComponentNavTabsAction.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsBlurStyleTest/UIComponentNavTabsBlurStyle.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsCachedCountTest/UIComponentNavTabsCachedCount.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsContentAdaptTest/UIComponentNavTabsContentAdapt.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsEdgeeffectTest/UIComponentNavTabsEdgeeffect.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsExpandsafeareaTest/UIComponentNavTabsExpandsafearea.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsHeightTest/UIComponentNavTabsHeight.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsImproTraceTest/UIComponentNavTabsImproTrace.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsInterceptionTest/UIComponentNavTabsInterception.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsInterfaceTest/UIComponentNavTabsInterface.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsMirrorTest/UIComponentNavTabsMirror.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsOnWillShowTest/UIComponentNavTabsOnWillShow.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsSubTabbarStyleTest/UIComponentNavTabsSubTabbarStyle.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsWidthTest/UIComponentNavTabsWidth.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshAbilityTest/UIComponentOtherRefreshAbility.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshInterActionTest/UIComponentOtherRefreshInterAction.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshInterfaceTest/UIComponentOtherRefreshInterface.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshPromptTextTest/UIComponentOtherRefreshPromptText.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTabTabBarSymbolTest/UIComponentTabTabBarSymbol.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabScrollable/ArkUITabScrollable001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabScrollable/ArkUITabScrollable002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleUnselectedcolor/ArkUITabsSingleUnselectedcolor003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsVertical/ArkUITabsVertical001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/FunctionJichuWaterFlow/FunctionJichuWaterFlow001806.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/FunctionJichuWaterFlow/FunctionJichuWaterFlow0350.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0080458.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0090321.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0100678.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0110972.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0120725.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0130072.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0140666.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0150827.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0160890.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0170444.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0270011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0280056.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0290223.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0300414.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0310330.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0320534.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0370.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0380.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0390.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0400.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0410.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0420.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0500.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0510.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0520.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0530.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0540.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0560.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0370.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0380.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0400.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier044.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier053.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier056.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier058.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier063.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier065.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier066.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0770.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0810.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier083.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0840.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0860.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0900.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0920.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0036.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0044.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0047.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0051.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0052.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0053.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0080.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0100.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0110.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0160.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0170.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0180.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0190.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0200.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0210.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0220.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0230.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0240.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0250.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0260.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0270.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0280.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0290.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0300.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0310.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0320.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0340.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0350.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0360.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0370.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0380.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0390.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0400.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0080.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0150.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0160.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0170.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0180.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0190.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0200.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0210.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0220.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0230.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0240.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0250.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0260.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0310.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsEdgeeffect/UIComponentNavTabsEdgeeffect0230.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsEdgeeffect/UIComponentNavTabsEdgeeffect0270.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0070.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0080.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0090.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0100.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0110.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0120.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsHeight/UIComponentNavTabsHeight001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0070.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0080.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0120.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0130.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0140.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0150.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0160.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0070.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0080.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0090.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0130.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0150.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface1190.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface1220.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0070.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0090.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0110.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0120.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0130.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0140.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0150.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0160.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0250.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0260.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror080.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsOnWillShow/UIComponentNavTabsOnWillShow0190.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsSubTabbarStyle/UIComponentNavTabsSubTabbarStyle0010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsWidth/UIComponentNavTabsWidth001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0070.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0080.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0090.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0100.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0380.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0390.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0400.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0410.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0140.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0170.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0180.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0100.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0110.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0120.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0070.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0080.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0090.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0110.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0120.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0130.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0140.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0150.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0160.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0170.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0180.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0190.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0230.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0260.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0240.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0250.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/magnifier.svg create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/tick.svg create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/waterFlowTest.jpg diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabScrollableTest/ArkUITabScrollable.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabScrollableTest/ArkUITabScrollable.test.ets new file mode 100644 index 00000000..11de16eb --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabScrollableTest/ArkUITabScrollable.test.ets @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function ArkUITabScrollable() { + + describe('ArkUITabScrollable', () => { + + + /* +* @tc.number ArkUI_Tabs_scrollable_001 +* @tc.name ArkUI_Tabs_scrollable_001 +* @tc.desc 1 、启 动 应 用 + 2、 设置属性scrollable参数为正常值 + 3 、 重 新 设 置 正 常 值 后 重 复 步 骤 1 和2 +*/ + it('ArkUI_Tabs_scrollable_001', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_scrollable_001 start.`); + Settings.createWindow("testability/pages/ArkUITabScrollable/ArkUITabScrollable001") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + await Utils.sleep(1000) + let button1 :Component = await driver.findComponent(ON.id('ArkUITabScrollable001_002')) + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_scrollable_001 finish.`); + done() + }) + + /* +* @tc.number ArkUI_Tabs_scrollable_002 +* @tc.name ArkUI_Tabs_scrollable_002 +* @tc.desc 1 、启 动 应 用 + 2、 设置属性scrollable参数为正常值 + 3 、 重 新 设 置 正 常 值 后 重 复 步 骤 1 和2 +*/ + it('ArkUI_Tabs_scrollable_002', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_scrollable_002 start.`); + Settings.createWindow("testability/pages/ArkUITabScrollable/ArkUITabScrollable002") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + await Utils.sleep(1000) + let button1 :Component = await driver.findComponent(ON.id('ArkUITabScrollable002_002')) + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_scrollable_002 finish.`); + done() + }) + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsIconStyleSelectedColorTest/ArkUITabsIconStyleSelectedColor.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsIconStyleSelectedColorTest/ArkUITabsIconStyleSelectedColor.test.ets new file mode 100644 index 00000000..8c54c62e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsIconStyleSelectedColorTest/ArkUITabsIconStyleSelectedColor.test.ets @@ -0,0 +1,195 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function ArkUITabsIconStyleSelectedColor() { + + describe('ArkUITabsIconStyleSelectedColor', () => { + + /* + * @tc.number ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_027 + * @tc.name ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_027 + * @tc.desc selectedColor: 0xFFFFFFFFFFFFFFFF + */ + it('ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_027', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_027 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor027") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_027 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_029 + * @tc.name ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_029 + * @tc.desc selectedColor: null + */ + it('ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_029', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_029 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor029") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_029 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_028 + * @tc.name ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_028 + * @tc.desc selectedColor: undefined + */ + it('ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_028', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_028 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor028") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_028 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_024 + * @tc.name ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_024 + * @tc.desc selectedColor: "rgba(255,100,255,0.5)" + */ + it('ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_024', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_024 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor024") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_024 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_026 + * @tc.name ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_026 + * @tc.desc selectedColor:$r("sys.color.toast_outer_border_color") + */ + it('ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_026', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_026 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor026") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_026 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_025 + * @tc.name ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_025 + * @tc.desc selectedColor: $r("sys.color.titlebar_title_tertiary_color") + */ + it('ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_025', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_025 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor025") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_025 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_014 + * @tc.name ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_014 + * @tc.desc selectedColor: 0x808080 + */ + it('ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_014', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_014 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor014") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_014 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_013 + * @tc.name ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_013 + * @tc.desc selectedColor: 0xa52a2a + */ + it('ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_013', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_013 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor013") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_013 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_001 + * @tc.name ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_001 + * @tc.desc selectedColor: Color.Black + */ + it('ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_001', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_001 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor001") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_001 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_004 + * @tc.name ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_004 + * @tc.desc selectedColor: Color.Gray + */ + it('ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_004', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_004 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor004") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_004 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_008 + * @tc.name ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_008 + * @tc.desc selectedColor: Color.Red + */ + it('ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_008', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_008 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor008") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_008 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_022 + * @tc.name ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_022 + * @tc.desc selectedColor: “#ff000000" + */ + it('ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_022', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_022 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor022") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_SELECTEDCOLOR_022$ finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsIconStyleUnselectedColorTest/ArkUITabsIconStyleUnselectedColor.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsIconStyleUnselectedColorTest/ArkUITabsIconStyleUnselectedColor.test.ets new file mode 100644 index 00000000..5df21352 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsIconStyleUnselectedColorTest/ArkUITabsIconStyleUnselectedColor.test.ets @@ -0,0 +1,181 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function ArkUITabsIconStyleUnselectedColor() { + + describe('ArkUITabsIconStyleUnselectedColor', () => { + /* + * @tc.number ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_026 + * @tc.name ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_026 + * @tc.desc unselectedColor:0xFFFFFFFFFFFFFFFF + */ + it('ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_026', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_026 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor026") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_026 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_028 + * @tc.name ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_028 + * @tc.desc unselectedColor: null + */ + it('ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_028', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_028 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor028") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_028 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_027 + * @tc.name ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_027 + * @tc.desc unselectedColor: undefined + */ + it('ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_027', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_027 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor027") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_027 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_021 + * @tc.name ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_021 + * @tc.desc unselectedColor: "#ff000000" + */ + it('ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_021', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_021 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor021") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_021 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_022 + * @tc.name ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_022 + * @tc.desc unselectedColor: "rgb(255,100,255)" + */ + it('ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_022', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_022 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor022") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_022 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_024 + * @tc.name ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_024 + * @tc.desc unselectedColor: $r("sys.color.toast_outer_border_color") + */ + it('ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_024', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_024 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor024") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_024 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_014 + * @tc.name ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_014 + * @tc.desc unselectedColor: 0x008000 + */ + it('ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_014', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_014 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor014") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_014 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_016 + * @tc.name ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_016 + * @tc.desc unselectedColor: 0xffc0cb + */ + it('ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_016', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_016 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor016") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_016 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_029 + * @tc.name ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_029 + * @tc.desc unselectedColor: Color.Black + */ + it('ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_029', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_029 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor029") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_029 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_002 + * @tc.name ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_002 + * @tc.desc unselectedColor: Color.Brown + */ + it('ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_002', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_002 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor002") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_002 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_005 + * @tc.name ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_005 + * @tc.desc unselectedColor: Color.Orange + */ + it('ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_005', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_005 start.`); + Settings.createWindow("testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor005") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_ICONSTYLE_UNSELECTEDCOLOR_005 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsLabelStyleSelectedColorTest/ArkUITabsLabelStyleSelectedColor.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsLabelStyleSelectedColorTest/ArkUITabsLabelStyleSelectedColor.test.ets new file mode 100644 index 00000000..39aa1370 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsLabelStyleSelectedColorTest/ArkUITabsLabelStyleSelectedColor.test.ets @@ -0,0 +1,469 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function ArkUITabsLabelStyleSelectedColor() { + + describe('ArkUITabsLabelStyleSelectedColor', () => { + + + /* + * @tc.number ArkUI_Tabs_LabelStyle_selectedColor_027 + * @tc.name ArkUI_Tabs_LabelStyle_selectedColor_027 + * @tc.desc 1、启动应用 + 2、设置属性font参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_selectedColor_027', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_027 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor027") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleSelectedColor027_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_027 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_selectedColor_029 + * @tc.name ArkUI_Tabs_LabelStyle_selectedColor_029 + * @tc.desc 1、启动应用 + 2、设置属性font参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_selectedColor_029', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_029 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor029") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleSelectedColor029_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_029 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_selectedColor_013 + * @tc.name ArkUI_Tabs_LabelStyle_selectedColor_013 + * @tc.desc 1、启动应用 + 2、设置属性selectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_selectedColor_013', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_013 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor013") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleSelectedColor013_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_013 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_selectedColor_017 + * @tc.name ArkUI_Tabs_LabelStyle_selectedColor_017 + * @tc.desc 1、启动应用 + 2、设置属性selectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 +*/ + it('ArkUI_Tabs_LabelStyle_selectedColor_017', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_017 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor017") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleSelectedColor017_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_017 finish.`); + done() + }) + /* + * @tc.number ArkUI_Tabs_LabelStyle_selectedColor_019 + * @tc.name ArkUI_Tabs_LabelStyle_selectedColor_019 + * @tc.desc 1、启动应用 + 2、设置属性selectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 +*/ + it('ArkUI_Tabs_LabelStyle_selectedColor_019', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_019 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor019") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleSelectedColor019_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_019 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_selectedColor_001 + * @tc.name ArkUI_Tabs_LabelStyle_selectedColor_001 + * @tc.desc 1、启动应用 + 2、设置属性selectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 +*/ + it('ArkUI_Tabs_LabelStyle_selectedColor_001', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_001 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor001") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleSelectedColor001_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_001 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_selectedColor_003 + * @tc.name ArkUI_Tabs_LabelStyle_selectedColor_003 + * @tc.desc 1、启动应用 + 2、设置属性selectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_selectedColor_003', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_003 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor003") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleSelectedColor003_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_003 finish.`); + done() + }) + /* + * @tc.number ArkUI_Tabs_LabelStyle_selectedColor_005 + * @tc.name ArkUI_Tabs_LabelStyle_selectedColor_005 + * @tc.desc 1、启动应用 + 2、设置属性selectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_selectedColor_005', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_005 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor005") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleSelectedColor005_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_005 finish.`); + done() + }) + /* + * @tc.number ArkUI_Tabs_LabelStyle_selectedColor_007 + * @tc.name ArkUI_Tabs_LabelStyle_selectedColor_007 + * @tc.desc 1、启动应用 + 2、设置属性selectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_selectedColor_007', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_007 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor007") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleSelectedColor007_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_007 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_selectedColor_011 + * @tc.name ArkUI_Tabs_LabelStyle_selectedColor_011 + * @tc.desc 1、启动应用 + 2、设置属性selectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_selectedColor_011', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_011 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor011") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleSelectedColor011_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_011 finish.`); + done() + }) + + /* +* @tc.number ArkUI_Tabs_LabelStyle_selectedColor_009 +* @tc.name ArkUI_Tabs_LabelStyle_selectedColor_009 +* @tc.desc 1、启动应用 + 2、设置属性selectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 +*/ + it('ArkUI_Tabs_LabelStyle_selectedColor_009', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_009 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor009") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleSelectedColor009_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_selectedColor_009 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_028 + * @tc.name ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_028 + * @tc.desc selectedColor: + */ + it('ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_028', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_028 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor028") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleSelectedcolor028_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_028 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_021 + * @tc.name ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_021 + * @tc.desc selectedColor: + */ + it('ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_021', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_021 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor021") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleSelectedcolor021_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_021 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_023 + * @tc.name ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_023 + * @tc.desc selectedColor: + */ + it('ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_023', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_023 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor023") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleSelectedcolor023_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_023 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_024 + * @tc.name ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_024 + * @tc.desc selectedColor: + */ + it('ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_024', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_024 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor024") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleSelectedcolor024_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_024 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_026 + * @tc.name ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_026 + * @tc.desc selectedColor: + */ + it('ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_026', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_026 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor026") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleSelectedcolor026_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_026 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_025 + * @tc.name ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_025 + * @tc.desc selectedColor: + */ + it('ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_025', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_025 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor025") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleSelectedcolor025_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_025 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_012 + * @tc.name ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_012 + * @tc.desc selectedColor: + */ + it('ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_012', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_012 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleSelectedcolor012_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_012 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_015 + * @tc.name ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_015 + * @tc.desc selectedColor: + */ + it('ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_015', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_015 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor015") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleSelectedcolor015_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_SELECTEDCOLOR_015 finish.`); + done() + }) + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsLabelStyleUnselectedColorTest/ArkUITabsLabelStyleUnselectedColor.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsLabelStyleUnselectedColorTest/ArkUITabsLabelStyleUnselectedColor.test.ets new file mode 100644 index 00000000..d7dd0377 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsLabelStyleUnselectedColorTest/ArkUITabsLabelStyleUnselectedColor.test.ets @@ -0,0 +1,349 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function ArkUITabsLabelStyleUnselectedColor() { + + describe('ArkUITabsLabelStyleUnselectedColor', () => { + + /* + * @tc.number ArkUI_Tabs_LabelStyle_unselectedColor_026 + * @tc.name ArkUI_Tabs_LabelStyle_unselectedColor_026 + * @tc.desc 1、启动应用 + * 2、设置属性unbselectedColor参数为正常值 + 3、重新设置异常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_unselectedColor_026', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_026 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor026") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleUnselectedColor026_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_026 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_unselectedColor_028 + * @tc.name ArkUI_Tabs_LabelStyle_unselectedColor_028 + * @tc.desc 1、启动应用 + * 2、设置属性unbselectedColor参数为正常值 + 3、重新设置异常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_unselectedColor_028', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_028 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor028") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleUnselectedColor028_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_028 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_unselectedColor_027 + * @tc.name ArkUI_Tabs_LabelStyle_unselectedColor_027 + * @tc.desc 1、启动应用 + * 2、设置属性unbselectedColor参数为正常值 + 3、重新设置异常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_unselectedColor_027', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_027 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor027") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleUnselectedColor027_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_027 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_unselectedColor_021 + * @tc.name ArkUI_Tabs_LabelStyle_unselectedColor_021 + * @tc.desc 1、启动应用 + * 2、设置属性unbselectedColor参数为正常值 + 3、重新设置异常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_unselectedColor_021', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_021 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor021") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleUnselectedColor021_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_021 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_unselectedColor_022 + * @tc.name ArkUI_Tabs_LabelStyle_unselectedColor_022 + * @tc.desc 1、启动应用 + * 2、设置属性unbselectedColor参数为正常值 + 3、重新设置异常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_unselectedColor_022', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_022 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor022") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleUnselectedColor022_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_022 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_unselectedColor_025 + * @tc.name ArkUI_Tabs_LabelStyle_unselectedColor_025 + * @tc.desc 1、启动应用 + * 2、设置属性unbselectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_unselectedColor_025', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_025 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor025") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleUnselectedColor025_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_025 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_unselectedColor_011 + * @tc.name ArkUI_Tabs_LabelStyle_unselectedColor_011 + * @tc.desc 1、启动应用 + 2、设置属性unselectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_unselectedColor_011', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_011 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor011") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleUnselectedColor011_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_011 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_unselectedColor_012 + * @tc.name ArkUI_Tabs_LabelStyle_unselectedColor_012 + * @tc.desc 1、启动应用 + 2、设置属性unselectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_unselectedColor_012', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_012 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor012") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleUnselectedColor012_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_012 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_unselectedColor_017 + * @tc.name ArkUI_Tabs_LabelStyle_unselectedColor_017 + * @tc.desc 1、启动应用 + 2、设置属性unselectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_unselectedColor_017', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_017 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor017") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleUnselectedColor017_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_017 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_unselectedColor_001 + * @tc.name ArkUI_Tabs_LabelStyle_unselectedColor_001 + * @tc.desc 1、启动应用 + 2、设置属性unselectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 +*/ + it('ArkUI_Tabs_LabelStyle_unselectedColor_001', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_001 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor001") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleUnselectedColor001_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_001 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_unselectedColor_005 + * @tc.name ArkUI_Tabs_LabelStyle_unselectedColor_005 + * @tc.desc 1、启动应用 + 2、设置属性unselectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_unselectedColor_005', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_005 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor005") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleUnselectedColor005_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_005 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_unselectedColor_008 + * @tc.name ArkUI_Tabs_LabelStyle_unselectedColor_008 + * @tc.desc 1、启动应用 + 2、设置属性unselectedColor参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_unselectedColor_008', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_005 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor008") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStyleUnselectedColor008_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_unselectedColor_008 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_UNSELECTEDCOLOR_024 + * @tc.name ARKUI_TABS_LABELSTYLE_UNSELECTEDCOLOR_024 + * @tc.desc unselectedColor: + */ + it('ARKUI_TABS_LABELSTYLE_UNSELECTEDCOLOR_024', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_UNSELECTEDCOLOR_024 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor024") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleUnselectedcolor024_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_UNSELECTEDCOLOR_024 finish.`); + done() + }) + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsLabelStylefontTest/ArkUITabsLabelStylefont.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsLabelStylefontTest/ArkUITabsLabelStylefont.test.ets new file mode 100644 index 00000000..1279dfa7 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsLabelStylefontTest/ArkUITabsLabelStylefont.test.ets @@ -0,0 +1,386 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function ArkUITabsLabelStylefont() { + + describe('ArkUITabsLabelStylefont', () => { + + + /* + * @tc.number ArkUI_Tabs_LabelStyle_font_005 + * @tc.name ArkUI_Tabs_LabelStyle_font_005 + * @tc.desc 1、创建tabs,设置SubTabBarStyle样式 + 2、设置镜像效果 + */ + it('ArkUI_Tabs_LabelStyle_font_005', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_005 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont005") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStylefont005_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_005 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_font_016 + * @tc.name ArkUI_Tabs_LabelStyle_font_016 + * @tc.desc 1、启动应用 + 2、设置属性font参数为异常值 + 3、重新设置正常值后重复步疆1和2 + */ + it('ArkUI_Tabs_LabelStyle_font_016', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_016 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont016") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStylefont016_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_016 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_font_015 + * @tc.name ArkUI_Tabs_LabelStyle_font_015 + * @tc.desc 1、启动应用 + 2、设置属性font参数为异常值 + 3、重新设置正常值后重复步疆1和2 + */ + it('ArkUI_Tabs_LabelStyle_font_015', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_015 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont015") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStylefont015_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_015 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_font_011 + * @tc.name ArkUI_Tabs_LabelStyle_font_011 + * @tc.desc 1、启动应用 + 2、设置属性font参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_font_011', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_011 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont011") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_011 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_font_007 + * @tc.name ArkUI_Tabs_LabelStyle_font_007 + * @tc.desc 1、启动应用 + 2、设置属性font参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_font_007', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_007 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_007 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_font_010 + * @tc.name ArkUI_Tabs_LabelStyle_font_010 + * @tc.desc 1、启动应用 + 2、设置属性font参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_font_010', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_010 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_010 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_font_008 + * @tc.name ArkUI_Tabs_LabelStyle_font_008 + * @tc.desc 1、启动应用 + 2、设置属性font参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_font_008', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_008 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_008 finish.`); + done() + }) + + /* + * @tc.number ArkUI_Tabs_LabelStyle_font_009 + * @tc.name ArkUI_Tabs_LabelStyle_font_009 + * @tc.desc 1、启动应用 + 2、设置属性font参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_LabelStyle_font_009', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_009 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont009") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_009 finish.`); + done() + }) + + /* +* @tc.number ArkUI_Tabs_LabelStyle_font_020 +* @tc.name ArkUI_Tabs_LabelStyle_font_020 +* @tc.desc 1、启动应用 + 2、设置属性font参数为异常值 + 3、重新设置正常值后重复步骤1和2 +*/ + it('ArkUI_Tabs_LabelStyle_font_020', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_020 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont020") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('ArkUITabsLabelStylefont020_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.error('TEST', `ArkUI_Tabs_LabelStyle_font_020 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_FONT_006 + * @tc.name ARKUI_TABS_LABELSTYLE_FONT_006 + * @tc.desc font: {size: -1} + */ + it('ARKUI_TABS_LABELSTYLE_FONT_006', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_006 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont006") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_006 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_FONT_019 + * @tc.name ARKUI_TABS_LABELSTYLE_FONT_019 + * @tc.desc font: undefined + */ + it('ARKUI_TABS_LABELSTYLE_FONT_019', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_019 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont019") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_019 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_FONT_001 + * @tc.name ARKUI_TABS_LABELSTYLE_FONT_001 + * @tc.desc font: {size: 20} + */ + it('ARKUI_TABS_LABELSTYLE_FONT_001', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_001 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleFont001_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_001 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_FONT_003 + * @tc.name ARKUI_TABS_LABELSTYLE_FONT_003 + * @tc.desc font: {size: 50%} + */ + it('ARKUI_TABS_LABELSTYLE_FONT_003', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_003 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleFont003_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_003 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_FONT_004 + * @tc.name ARKUI_TABS_LABELSTYLE_FONT_004 + * @tc.desc font: {size: 10} + */ + it('ARKUI_TABS_LABELSTYLE_FONT_004', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_004 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleFont004_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_004 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_FONT_018 + * @tc.name ARKUI_TABS_LABELSTYLE_FONT_018 + * @tc.desc font: {size: 10} + */ + it('ARKUI_TABS_LABELSTYLE_FONT_018', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_018 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont018") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleFont018_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_018 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_FONT_017 + * @tc.name ARKUI_TABS_LABELSTYLE_FONT_017 + * @tc.desc style:FontStyle.Normal + */ + it('ARKUI_TABS_LABELSTYLE_FONT_017', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_017 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont017") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleFont017_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_017 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_FONT_013 + * @tc.name ARKUI_TABS_LABELSTYLE_FONT_013 + * @tc.desc weight:200 + */ + it('ARKUI_TABS_LABELSTYLE_FONT_013', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_013 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont013") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleFont013_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_013 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_LABELSTYLE_FONT_012 + * @tc.name ARKUI_TABS_LABELSTYLE_FONT_012 + * @tc.desc weight: FontTeight.Bolder + */ + it('ARKUI_TABS_LABELSTYLE_FONT_012', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_012 start.`); + Settings.createWindow("testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('ArkUITabsLabelstyleFont012_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ARKUI_TABS_LABELSTYLE_FONT_012 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsSingleSelectedcolorTest/ArkUITabsSingleSelectedcolor.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsSingleSelectedcolorTest/ArkUITabsSingleSelectedcolor.test.ets new file mode 100644 index 00000000..50df4505 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsSingleSelectedcolorTest/ArkUITabsSingleSelectedcolor.test.ets @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver, ON } from '@ohos.UiTest' + +export default function ArkUITabsSingleSelectedcolor() { + + describe('ArkUITabsSingleSelectedcolor', () => { + /* + * @tc.number ARKUI_TABS_SINGLE_SELECTEDCOLOR_011 + * @tc.name ARKUI_TABS_SINGLE_SELECTEDCOLOR_011 + * @tc.desc selectedColor: "rgb(255,100,255)" + */ + it('ARKUI_TABS_SINGLE_SELECTEDCOLOR_011', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_SINGLE_SELECTEDCOLOR_011 start.`); + Settings.createWindow("testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor011") + await Utils.sleep(2000) + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `ARKUI_TABS_SINGLE_SELECTEDCOLOR_011 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_SINGLE_SELECTEDCOLOR_002 + * @tc.name ARKUI_TABS_SINGLE_SELECTEDCOLOR_002 + * @tc.desc selectedColor: Color.White + */ + it('ARKUI_TABS_SINGLE_SELECTEDCOLOR_002', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_SINGLE_SELECTEDCOLOR_002 start.`); + Settings.createWindow("testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor002") + await Utils.sleep(2000) + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `ARKUI_TABS_SINGLE_SELECTEDCOLOR_002 finish.`); + done() + }) + /* + * @tc.number ARKUI_TABS_SINGLE_SELECTEDCOLOR_005 + * @tc.name ARKUI_TABS_SINGLE_SELECTEDCOLOR_005 + * @tc.desc selectedColor: Color.Green + */ + it('ARKUI_TABS_SINGLE_SELECTEDCOLOR_005', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_SINGLE_SELECTEDCOLOR_005 start.`); + Settings.createWindow("testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor005") + await Utils.sleep(2000) + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `ARKUI_TABS_SINGLE_SELECTEDCOLOR_005 finish.`); + done() + }) /* + * @tc.number ARKUI_TABS_SINGLE_SELECTEDCOLOR_008 + * @tc.name ARKUI_TABS_SINGLE_SELECTEDCOLOR_008 + * @tc.desc selectedColor: 0xffffff + */ + it('ARKUI_TABS_SINGLE_SELECTEDCOLOR_008', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_SINGLE_SELECTEDCOLOR_008 start.`); + Settings.createWindow("testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor008") + await Utils.sleep(2000) + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `ARKUI_TABS_SINGLE_SELECTEDCOLOR_008 finish.`); + done() + }) + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsSingleUnselectedcolorTest/ArkUITabsSingleUnselectedcolor.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsSingleUnselectedcolorTest/ArkUITabsSingleUnselectedcolor.test.ets new file mode 100644 index 00000000..cb90a868 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsSingleUnselectedcolorTest/ArkUITabsSingleUnselectedcolor.test.ets @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver, ON } from '@ohos.UiTest' + +export default function ArkUITabsSingleUnselectedcolor() { + + describe('ArkUITabsSingleUnselectedcolor', () => { + /* + * @tc.number ARKUI_TABS_SINGLE_UNSELECTEDCOLOR_003 + * @tc.name ARKUI_TABS_SINGLE_UNSELECTEDCOLOR_003 + * @tc.desc selectedColor: Color.Transparent + */ + it('ARKUI_TABS_SINGLE_UNSELECTEDCOLOR_003', 0, async (done: Function) => { + Logger.info('TEST', `ARKUI_TABS_SINGLE_UNSELECTEDCOLOR_003 start.`); + Settings.createWindow("testability/pages/ArkUITabsSingleUnselectedcolor/ArkUITabsSingleUnselectedcolor003") + await Utils.sleep(2000) + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `ARKUI_TABS_SINGLE_UNSELECTEDCOLOR_003 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsVerticalTest/ArkUITabsVertical.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsVerticalTest/ArkUITabsVertical.test.ets new file mode 100644 index 00000000..60afbf12 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ArkUITabsVerticalTest/ArkUITabsVertical.test.ets @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function ArkUITabsVertical() { + + describe('ArkUITabsVertical', () => { + + /* + * @tc.number ArkUI_Tabs_vertical_001 + * @tc.name ArkUI_Tabs_vertical_001 + * @tc.desc 1、启动应用 + 2、设置属性vertical参数为正常值 + 3、重新设置正常值后重复步骤1和2 + */ + it('ArkUI_Tabs_vertical_001', 0, async (done: Function) => { + Logger.error('TEST', `ArkUI_Tabs_vertical_001 start.`); + Settings.createWindow("testability/pages/ArkUITabsVertical/ArkUITabsVertical001") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + await Utils.sleep(1000) + let button1 :Component = await driver.findComponent(ON.id('ArkUITabsVertical001_001')) + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `ArkUI_Tabs_vertical_001 finish.`); + done() + }) + + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/FunctionJichuWaterFlowTest/FunctionJichuWaterFlow.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/FunctionJichuWaterFlowTest/FunctionJichuWaterFlow.test.ets new file mode 100644 index 00000000..e2b67bdc --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/FunctionJichuWaterFlowTest/FunctionJichuWaterFlow.test.ets @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function FunctionJichuWaterFlow() { + + describe('FunctionJichuWaterFlow', () => { + + + /* + * @tc.number SUB_ACE_FUNCTION_JICHU_WATERFLOW_0350 + * @tc.name SUB_ACE_FUNCTION_JICHU_WATERFLOW_0350 + * @tc.desc 1、安装hap包 + 2、打开应用 + */ + it('SUB_ACE_FUNCTION_JICHU_WATERFLOW_0350', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_FUNCTION_JICHU_WATERFLOW_0350 start.`); + Settings.createWindow("testability/pages/FunctionJichuWaterFlow/FunctionJichuWaterFlow0350") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_FUNCTION_JICHU_WATERFLOW_0350 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_FUNCTION_JICHU_WATERFLOW_001806 +* @tc.name SUB_ACE_FUNCTION_JICHU_WATERFLOW_001806 +* @tc.desc 1、添加Waterflow组件 + 2、设置Waterflow的参数:设置参数footer +*/ + it('SUB_ACE_FUNCTION_JICHU_WATERFLOW_001806', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_FUNCTION_JICHU_WATERFLOW_001806 start.`); + Settings.createWindow("testability/pages/FunctionJichuWaterFlow/FunctionJichuWaterFlow001806") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(100) + let refreshListItem0 :Component = await driver.findComponent(ON.id('FunctionJichuWaterFlow001806_001')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y-400) + await Utils.sleep(1000) + await driver.swipe(pos.x,pos.y,pos.x,pos.y-400) + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_FUNCTION_JICHU_WATERFLOW_001806 finish.`); + done() + }) + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/List.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/List.test.ets index 3f4effdb..92199af3 100644 --- a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/List.test.ets +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/List.test.ets @@ -41,6 +41,39 @@ import ComponentTextRicheditorInterfaceTests import ComponentTextRicheditorShortKcutKeysTests from './ComponentTextRicheditorShortKcutKeys/ComponentTextRicheditorShortKcutKeysTests.test'; +import UIComponentNavTabsOnWillShow from './UIComponentNavTabsOnWillShowTest/UIComponentNavTabsOnWillShow.test'; +import UIComponentNavTabsContentAdapt from './UIComponentNavTabsContentAdaptTest/UIComponentNavTabsContentAdapt.test'; +import ArkUITabScrollable from './ArkUITabScrollableTest/ArkUITabScrollable.test'; +import ArkUITabsLabelStylefont from './ArkUITabsLabelStylefontTest/ArkUITabsLabelStylefont.test'; +import ArkUITabsLabelStyleSelectedColor from './ArkUITabsLabelStyleSelectedColorTest/ArkUITabsLabelStyleSelectedColor.test'; +import ArkUITabsLabelStyleUnselectedColor from './ArkUITabsLabelStyleUnselectedColorTest/ArkUITabsLabelStyleUnselectedColor.test'; +import UIComponentListAndGridWaterFlowAdd from './UIComponentListAndGridWaterFlowAddTest/UIComponentListAndGridWaterFlowAdd.test'; +import UIComponentListAndGridWaterSections from './UIComponentListAndGridWaterSectionsTest/UIComponentListAndGridWaterSections.test'; +import UIComponentNavModifier from './UIComponentNavModifierTest/UIComponentNavModifier.test'; +import UIComponentNavTabsAction from './UIComponentNavTabsActionTest/UIComponentNavTabsAction.test'; +import UIComponentNavTabsBlurStyle from './UIComponentNavTabsBlurStyleTest/UIComponentNavTabsBlurStyle.test'; +import UIComponentNavTabsCachedCount from './UIComponentNavTabsCachedCountTest/UIComponentNavTabsCachedCount.test'; +import UIComponentNavTabsImproTrace from './UIComponentNavTabsImproTraceTest/UIComponentNavTabsImproTrace.test'; +import UIComponentNavTabsInterception from './UIComponentNavTabsInterceptionTest/UIComponentNavTabsInterception.test'; +import UIComponentNavTabsInterface from './UIComponentNavTabsInterfaceTest/UIComponentNavTabsInterface.test'; +import UIComponentNavTabsMirror from './UIComponentNavTabsMirrorTest/UIComponentNavTabsMirror.test'; +import UIComponentTabTabBarSymbol from './UIComponentTabTabBarSymbolTest/UIComponentTabTabBarSymbol.test'; +import UIComponentOtherRefreshPromptText from './UIComponentOtherRefreshPromptTextTest/UIComponentOtherRefreshPromptText.test'; +import UIComponentOtherRefreshInterface from './UIComponentOtherRefreshInterfaceTest/UIComponentOtherRefreshInterface.test'; +import UIComponentOtherRefreshInterAction from './UIComponentOtherRefreshInterActionTest/UIComponentOtherRefreshInterAction.test'; +import UIComponentOtherRefreshAbility from './UIComponentOtherRefreshAbilityTest/UIComponentOtherRefreshAbility.test'; +import FunctionJichuWaterFlow from './FunctionJichuWaterFlowTest/FunctionJichuWaterFlow.test'; +import UIComponentNavTabsSubTabbarStyle from './UIComponentNavTabsSubTabbarStyleTest/UIComponentNavTabsSubTabbarStyle.test'; +import ArkUITabsVertical from './ArkUITabsVerticalTest/ArkUITabsVertical.test'; +import UIComponentNavTabsHeight from './UIComponentNavTabsHeightTest/UIComponentNavTabsHeight.test'; +import UIComponentNavTabsWidth from './UIComponentNavTabsWidthTest/UIComponentNavTabsWidth.test'; +import UIComponentNavTabsEdgeeffect from './UIComponentNavTabsEdgeeffectTest/UIComponentNavTabsEdgeeffect.test'; +import UIComponentNavTabsExpandsafearea from './UIComponentNavTabsExpandsafeareaTest/UIComponentNavTabsExpandsafearea.test'; +import ArkUITabsIconStyleSelectedColor from './ArkUITabsIconStyleSelectedColorTest/ArkUITabsIconStyleSelectedColor.test'; +import ArkUITabsIconStyleUnselectedColor from './ArkUITabsIconStyleUnselectedColorTest/ArkUITabsIconStyleUnselectedColor.test'; +import ArkUITabsSingleSelectedcolor from './ArkUITabsSingleSelectedcolorTest/ArkUITabsSingleSelectedcolor.test'; +import ArkUITabsSingleUnselectedcolor from './ArkUITabsSingleUnselectedcolorTest/ArkUITabsSingleUnselectedcolor.test'; + export default function testsuite() { ComponentTextRicheditorFontfeatures(); ComponentTextRicheditorCustomColors(); @@ -55,4 +88,38 @@ export default function testsuite() { ComponentTextRicheditorOnWillChangeTests(); ComponentTextRicheditorInterfaceTests(); ComponentTextRicheditorShortKcutKeysTests(); + + UIComponentNavTabsOnWillShow(); + UIComponentNavTabsContentAdapt(); + ArkUITabScrollable(); + ArkUITabsLabelStylefont(); + ArkUITabsLabelStyleSelectedColor(); + ArkUITabsLabelStyleUnselectedColor(); + UIComponentListAndGridWaterFlowAdd(); + UIComponentListAndGridWaterSections(); + UIComponentNavModifier(); + UIComponentNavTabsAction(); + UIComponentNavTabsBlurStyle(); + UIComponentNavTabsCachedCount(); + UIComponentNavTabsImproTrace(); + UIComponentNavTabsInterception(); + UIComponentNavTabsInterface(); + UIComponentNavTabsMirror(); + UIComponentTabTabBarSymbol(); + UIComponentOtherRefreshPromptText(); + UIComponentOtherRefreshInterface(); + UIComponentOtherRefreshInterAction(); + UIComponentOtherRefreshAbility(); + FunctionJichuWaterFlow(); + UIComponentNavTabsSubTabbarStyle(); + ArkUITabsVertical(); + UIComponentNavTabsHeight(); + UIComponentNavTabsWidth(); + UIComponentNavTabsEdgeeffect(); + UIComponentNavTabsExpandsafearea(); + ArkUITabsIconStyleSelectedColor(); + ArkUITabsIconStyleUnselectedColor(); + ArkUITabsSingleSelectedcolor(); + ArkUITabsSingleUnselectedcolor(); + } \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentListAndGridWaterFlowAddTest/UIComponentListAndGridWaterFlowAdd.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentListAndGridWaterFlowAddTest/UIComponentListAndGridWaterFlowAdd.test.ets new file mode 100644 index 00000000..60f88eae --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentListAndGridWaterFlowAddTest/UIComponentListAndGridWaterFlowAdd.test.ets @@ -0,0 +1,308 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentListAndGridWaterFlowAdd() { + + describe('UIComponentListAndGridWaterFlowAdd', () => { + + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0270_011 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0270_011 + * @tc.desc 1、添加Waterflow组件 + 2、设置Waterflow的属性: + .columnsTemplate("1fr 1fr") + .itemConstraintSize({minWidth:'0%',maxWidth:'50%',minHeight:'0%',maxHeight:'100%'}) + 3.编译安装demo + */ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0270_011', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0270_011 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0270011") + await Utils.sleep(1000) + + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0270_011 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0130_072 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0130_072 + * @tc.desc 1、添加Waterflow组件 + 2、设置Waterflow的属性:columnsGap(“”) + */ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0130_072', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0130_072 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0130072") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0130_072 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0140_666 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0140_666 + * @tc.desc 1、添加Waterflow组件 + 2、设置Waterflow的属性:columnsGap(10) + */ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0140_666', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0140_666 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0140666") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0140_666 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0160_890 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0160_890 + * @tc.desc 1、添加Waterflow组件 + 2、设置Waterflow的属性:columnsGap('5vp') +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0160_890', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0160_890 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0160890") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0160_890 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0150_827 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0150_827 + * @tc.desc 1、添加Waterflow组件 + 2、在string.json里设置string: + "name":'width_20","value':“20" + 3、设置Waterflow的属性:columnsGap($r(app.string.width_20')) + */ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0150_827', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0150_827 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0150827") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0150_827 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0170_444 +* @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0170_444 +* @tc.desc 1、添加Waterflow组件 + 2、设置Waterflow的属性:columnsGap("abc") +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0170_444', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0170_444 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0170444") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0170_444 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0280_056 +* @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0280_056 +* @tc.desc 1、添加Waterflow组件 + 2、设置Waterflow的属性:rowsGap(“”) +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0280_056', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0280_056 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0280056") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0280_056 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0290_223 +* @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0290_223 +* @tc.desc 1、添加Waterflow组件 + 2、设置Waterflow的属性:rowsGap(10) +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0290_223', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0290_223 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0290223") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0290_223 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0300_414 +* @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0300_414 +* @tc.desc 1、添加Waterflow组件 + 2、在string.json里设置string + "name":"height_20°,"value':‘20° + 3、设置Waterflow的属性:rowsGap($r('app.string.height_20')) +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0300_414', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0300_414 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0300414") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0300_414 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0310_330 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0310_330 + * @tc.desc 1、添加Waterflow组件 + 2、设置Waterflow的属性:rowsGap('5vp') + */ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0310_330', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0310_330 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0310330") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0310_330 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0320_534 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0320_534 + * @tc.desc 1、添加Waterflow组件 + 2、设置Waterflow的属性:rowsGap('abc') + */ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0320_534', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0320_534 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0320534") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0320_534 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0080_458 +* @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0080_458 +* @tc.desc 1、添加Waterflow组件 + 2、设置Waterflov的属性: + columnsTemplate("1fr 1fr") + rowsTemplate("1fr 1fr 1fr') + layoutDirection(FlexDirection.ColumnReverse) +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0080_458', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0080_458 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0080458") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0080_458 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0090_321 +* @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0090_321 +* @tc.desc 1、添加Waterflow组件 + 2、设置Waterflov的属性: + columnsTemplate("1fr 1fr") + rowsTemplate("1fr 1fr 1fr') + layoutDirection(FlexDirection.Column) +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0090_321', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0090_321 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0090321") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0090_321 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0100_678 +* @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0100_678 +* @tc.desc 1、添加Waterflow组件 + 2、设置Waterflow的属性: + columnsTemplate(”1fr 1fr") + rowsTemplate(“ifr 1fr 1fr”) + layoutDirection(FlexDirection.RowReverse) +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0100_678', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0100_678 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0100678") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0100_678 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0110_972 +* @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0110_972 +* @tc.desc 1、添加Waterflow组件 + 2、设置Waterflow的属性: + columnsTemplate(”1fr 1fr") + rowsTemplate(“ifr 1fr 1fr”) + layoutDirection(FlexDirection.Row) +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0110_972', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0110_972 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0110972") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0110_972 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0120_725 +* @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0120_725 +* @tc.desc 1、添加Waterflow组件 + 2、设置Waterflow的属性: + colunnsTenplate(”1fr 1fr") + rowsTemplate(“1fr lfr 1fr') + 不设置layoutDirection +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0120_725', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0120_725 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0120725") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_ADD_0120_725 finish.`); + done() + }) + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentListAndGridWaterSectionsTest/UIComponentListAndGridWaterSections.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentListAndGridWaterSectionsTest/UIComponentListAndGridWaterSections.test.ets new file mode 100644 index 00000000..0bd9f7c7 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentListAndGridWaterSectionsTest/UIComponentListAndGridWaterSections.test.ets @@ -0,0 +1,295 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentListAndGridWaterSections() { + + describe('UIComponentListAndGridWaterSections', () => { + + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0560 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0560 + * @tc.desc 1、创建分组瀑布流 + 2、splice方法中替换的分组不设置返回高 + */ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0560', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0560 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0560") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0560_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0560 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0380 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0380 + * @tc.desc 1、创建分组瀑布流 + 2、push进一个分组 + 3、改变分组的columnsGap +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0380', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0380 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0380") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0380_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0380_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0380 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0370 +* @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0370 +* @tc.desc 1、创建分组瀑布流 + 2、push进一个分组 + 3、改变分组的crossCount +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0370', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0370 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0370") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0370_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0370_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0370 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0390 +* @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0390 +* @tc.desc 1、创建分组瀑布流 + 2、push进一个分组 + 3、改变分组的crossCount +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0390', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0390 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0390") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0390_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0390_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0390 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0410 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0410 + * @tc.desc 1、创建分组瀑布流 + 2、push进一个分组 + 3、改变分组的margin +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0410', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0410 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0410") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0410_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0410_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0410 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0400 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0400 + * @tc.desc 1、创建分组瀑布流 + 2、push进一个分组 + 3、改变分组的rowsGap +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0400', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0400 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0400") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0400_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0400_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0400 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0420 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0420 + * @tc.desc 1、创建分组瀑布流 + 2、push进一个分组 + 3、改变分组的返回高度 + */ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0420', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0420 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0420") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0420_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0420_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0420 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0500 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0500 + * @tc.desc 1、创建分组瀑布流,不设置crossCount + */ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0500', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0500 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0500") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0500 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0510 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0510 + * @tc.desc 创建分组瀑布流,不设置columnsGap + */ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0510', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0510 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0510") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0510 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0520 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0520 + * @tc.desc 创建分组瀑布流,不设置rowsGap + */ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0520', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0520 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0520") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0520 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0530 +* @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0530 +* @tc.desc 创建分组瀑布流,不设置margin +*/ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0530', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0530 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0530") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0530 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0540 + * @tc.name SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0540 + * @tc.desc 1、创建分组瀑布流 + 2、push进一个分组 + 3、改变分组的返回高度 + */ + it('SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0540', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0540 start.`); + Settings.createWindow("testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0540") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentListAndGridWaterSections0540_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_LISTANDGRID_WATERFLOW_SECTIONS_0540 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavModifierTest/UIComponentNavModifier.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavModifierTest/UIComponentNavModifier.test.ets new file mode 100644 index 00000000..12e9b46a --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavModifierTest/UIComponentNavModifier.test.ets @@ -0,0 +1,484 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver, ON } from '@ohos.UiTest' + +export default function UIComponentNavModifier() { + + describe('UIComponentNavModifier', () => { + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0460 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0460 + * @tc.desc 1、添加Tabs组件 + 2、分割线设置为0xFF0000 + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0460', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0460 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier046") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0460 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0530 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0530 + * @tc.desc 1、添加Tabs组件 + 2、设置endMargin(-10) + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0530', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0530 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier053") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavModifier053_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0530 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0560 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0560 + * @tc.desc 1、添加Tabs组件 + 2、设置endMargin(-10) + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0560', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0560 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier056") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavModifier056_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0560 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0580 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0580 + * @tc.desc 1、添加Tabs组件 + 2、设置endMargin(-10) + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0580', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0580 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier058") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavModifier058_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0580 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0830 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0830 + * @tc.desc 1、添加Tabs组件 + 2、barWidth设置为Resource + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0830', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0830 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier083") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavModifier083_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0830 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0480 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0480 + * @tc.desc 1、添加Tabs组件 + 2、分割线设置为0xffc0cb + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0480', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0480 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier048") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0480 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0450 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0450 + * @tc.desc 1、添加Tabs组件 + 2、分割线设置为Color.Blue + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0450', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0450 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier045") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0450 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0410 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0410 + * @tc.desc 1、添加Tabs组件 + 2、strokeWidth设置为string类型 + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0410', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0410 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier041") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavModifier041_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0410 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0440 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0440 + * @tc.desc 1、添加Tabs组件 + 2、strokeWidth设置为Resource类 + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0440', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0440 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier044") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavModifier044_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0440 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0430 +* @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0430 +* @tc.desc 1、添加Tabs组件 + 2、分割线设置为Color.Blue +*/ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0430', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0430 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier043") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavModifier043_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0430 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0600 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0600 + * @tc.desc 1、添加Tabs组件 + 2、fadingEdge设置为false + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0600', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0600 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier060") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0600 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0650 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0650 + * @tc.desc 1、添加Tabs组件 + 2、背景色设置为’#ffffff’ + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0650', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0650 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier065") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavModifier065_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0650 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0630 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0630 + * @tc.desc 1、添加Tabs组件 + 2、背景色设置为’#ffffff’ + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0630', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0630 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier063") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavModifier063_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0630 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0660 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0660 + * @tc.desc 1、添加Tabs组件 + 2、背景色设置为’#ffffff’ +*/ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0660', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0660 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier066") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavModifier066_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0660 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0810 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0810 + * @tc.desc 1、添加Tabs组件 + 2、设置barWidth为'100% + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0810', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0810 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier0810") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0810 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0770 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0770 + * @tc.desc 1、添加Tabs组件 + 2、设置barWidth为负值 +*/ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0770', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0770 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier0770") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0770 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0860 +* @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0860 +* @tc.desc 1、添加Tabs组件 + 2、设置barHeight为250 +*/ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0860', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0860 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier0860") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0860 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0840 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0840 + * @tc.desc 1、添加Tabs组件 + 2、设置barHeight为小于0的数 + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0840', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0840 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier0840") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0840 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0900 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0900 + * @tc.desc 1、添加Tabs组件 + 2、设置animationDuration设置为小于0 + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0900', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0900 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier0900") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('blue')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2: Component = await driver.findComponent(ON.id('green')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0900 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0920 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0920 + * @tc.desc 1、添加Tabs组件 + 2、设置animationDuration设置为百分比 +*/ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0920', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0920 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier0920") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('blue')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2: Component = await driver.findComponent(ON.id('green')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0920 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0370 +* @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0370 +* @tc.desc 1、添加Tabs组件 + 2、barGridAlign设置为gutter +*/ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0370', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0370 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier0370") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavModifier0370_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2: Component = await driver.findComponent(ON.id('UIComponentNavModifier0370_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0370 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0380 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0380 + * @tc.desc barGridAlign设置为sm + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0380', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0380 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier0380") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0380 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0130 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0130 + * @tc.desc barGridAlign设置为lg + */ + it('SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0400', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0400 start.`); + Settings.createWindow("testability/pages/UIComponentNavModifier/UIComponentNavModifier0400") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_MODIFIER_0400 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsActionTest/UIComponentNavTabsAction.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsActionTest/UIComponentNavTabsAction.test.ets new file mode 100644 index 00000000..9c7a17f4 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsActionTest/UIComponentNavTabsAction.test.ets @@ -0,0 +1,119 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsAction() { + + describe('UIComponentNavTabsAction', () => { + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0011 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0011 + * @tc.desc 1、添加Tabs组件 + 2、设置多个TabContent + 3、多次改变窗口大小,切换前后台 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0011', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0011 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0011") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button:Component = await driver.findComponent(ON.id('UIComponentNavTabsAction0011_002')); + await Utils.sleep(200) + await button.click() + await Utils.sleep(200) + await button.click() + await Utils.sleep(1000) + let tabsCenter:Component = await driver.findComponent(ON.id('UIComponentNavTabsAction0011_001')); + await Utils.sleep(1000) + let pos = await tabsCenter.getBoundsCenter() + await driver.swipe(pos.x+100,pos.y,pos.x-300,pos.y) + await Utils.sleep(1000) + let pos1 = await tabsCenter.getBoundsCenter() + await driver.swipe(pos1.x-100,pos1.y,pos1.x+300,pos1.y) + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0011 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0030 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0030 + * @tc.desc 1、在pink页面点击 + 2、点击页签切换页面 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0030', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0030 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0030") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let tabBar1:Component = await driver.findComponent(ON.id('Pink')); + await Utils.sleep(100) + await tabBar1.click() + await Utils.sleep(100) + let tabBar2:Component = await driver.findComponent(ON.id('Yellow')); + await Utils.sleep(100) + await tabBar2.click() + await Utils.sleep(100) + await tabBar1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0030 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0012 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0012 + * @tc.desc 1、添加tabs组件设置100个子组件 + 2、点击页签切换页面 + 3、滑动页面切换 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0012', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0012 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0012") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let tabBar:Component = await driver.findComponent(ON.id('tab1')); + await Utils.sleep(1000) + await tabBar.click() + await Utils.sleep(1000) + let tabsCenter :Component = await driver.findComponent(ON.id('UIComponentNavTabsAction0012_001')) + await Utils.sleep(1000) + let pos = await tabsCenter.getBoundsCenter() + await Utils.sleep(100) + + await driver.swipe(pos.x-100,pos.y,pos.x+356,pos.y) + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_ACTION_0012 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsBlurStyleTest/UIComponentNavTabsBlurStyle.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsBlurStyleTest/UIComponentNavTabsBlurStyle.test.ets new file mode 100644 index 00000000..e5dabdb4 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsBlurStyleTest/UIComponentNavTabsBlurStyle.test.ets @@ -0,0 +1,1645 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver, ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsBlurStyle() { + + describe('UIComponentNavTabsBlurStyle', () => { + + + /* +* @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0016 +* @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0016 +* @tc.desc 1、设置13个按钮,点击后给Tabs页签组件模糊效果改为Thin、Regular、Thick、 + BACKGROUND_THIN、BACKGROUND_REGULAR、BACKGROUND_THICK、 + BACKGROUND_ULTRA_THICK、NONE、 + COMPONENT_ULTRA_THIN、 + COMPONENT_THIN、COMPONENT_REGULAR、 + COMPONENT_THICK、COMPONENT_ULTRA_THICK + 2、Tabs组件中添加四个TabContent,分别设置SubTabBarStyle为Pink、Yellow,Blue、Green +*/ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0016', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0016 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0016") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0016_001')); + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + let button2: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0016_002')); + await Utils.sleep(100) + await button2.click() + await Utils.sleep(100) + let button3: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0016_003')); + await Utils.sleep(100) + await button3.click() + await Utils.sleep(100) + let button4: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0016_004')); + await Utils.sleep(100) + await button4.click() + await Utils.sleep(100) + let button5: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0016_005')); + await Utils.sleep(100) + await button5.click() + await Utils.sleep(100) + let button6: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0016_006')); + await Utils.sleep(100) + await button6.click() + await Utils.sleep(100) + let button7: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0016_007')); + await Utils.sleep(100) + await button7.click() + await Utils.sleep(100) + let button8: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0016_008')); + await Utils.sleep(100) + await button8.click() + await Utils.sleep(100) + let button9: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0016_009')); + await Utils.sleep(100) + await button9.click() + await Utils.sleep(100) + let button10: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0016_010')); + await Utils.sleep(100) + await button10.click() + await Utils.sleep(100) + let button11: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0016_011')); + await Utils.sleep(100) + await button11.click() + await Utils.sleep(100) + let button12: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0016_012')); + await Utils.sleep(100) + await button12.click() + await Utils.sleep(100) + let button13: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0016_013')); + await Utils.sleep(100) + await button13.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0016 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0015 +* @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0015 +* @tc.desc 1、设置13个按钮,点击后给Tabs页签组件模糊效果改为Thin、Regular、Thick、 + BACKGROUND_THIN、BACKGROUND_REGULAR、BACKGROUND_THICK、 + BACKGROUND_ULTRA_THICK、NONE、 + COMPONENT_ULTRA_THIN、 + COMPONENT_THIN、COMPONENT_REGULAR、 + COMPONENT_THICK、COMPONENT_ULTRA_THICK + 2、Tabs组件中添加四个TabContent,分别设置SubTabBarStyle为Pink、Yellow,Blue、Green +*/ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0015', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0015 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0015") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0015_001')); + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + let button2: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0015_002')); + await Utils.sleep(100) + await button2.click() + await Utils.sleep(100) + let button3: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0015_003')); + await Utils.sleep(100) + await button3.click() + await Utils.sleep(100) + let button4: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0015_004')); + await Utils.sleep(100) + await button4.click() + await Utils.sleep(100) + let button5: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0015_005')); + await Utils.sleep(100) + await button5.click() + await Utils.sleep(100) + let button6: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0015_006')); + await Utils.sleep(100) + await button6.click() + await Utils.sleep(100) + let button7: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0015_007')); + await Utils.sleep(100) + await button7.click() + await Utils.sleep(100) + let button8: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0015_008')); + await Utils.sleep(100) + await button8.click() + await Utils.sleep(100) + let button9: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0015_009')); + await Utils.sleep(100) + await button9.click() + await Utils.sleep(100) + let button10: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0015_010')); + await Utils.sleep(100) + await button10.click() + await Utils.sleep(100) + let button11: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0015_011')); + await Utils.sleep(100) + await button11.click() + await Utils.sleep(100) + let button12: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0015_012')); + await Utils.sleep(100) + await button12.click() + await Utils.sleep(100) + let button13: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0015_013')); + await Utils.sleep(100) + await button13.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0015 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0014 +* @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0014 +* @tc.desc 1、设置13个按钮,点击后给Tabs页签组件模糊效果改为Thin、Regular、Thick、 + BACKGROUND_THIN、BACKGROUND_REGULAR、BACKGROUND_THICK、 + BACKGROUND_ULTRA_THICK、NONE、 + COMPONENT_ULTRA_THIN、 + COMPONENT_THIN、COMPONENT_REGULAR、 + COMPONENT_THICK、COMPONENT_ULTRA_THICK + 2、Tabs组件中添加四个TabContent,分别设置SubTabBarStyle为Pink、Yellow,Blue、Green +*/ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0014', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0014 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0014") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0014_001')); + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + let button2: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0014_002')); + await Utils.sleep(100) + await button2.click() + await Utils.sleep(100) + let button3: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0014_003')); + await Utils.sleep(100) + await button3.click() + await Utils.sleep(100) + let button4: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0014_004')); + await Utils.sleep(100) + await button4.click() + await Utils.sleep(100) + let button5: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0014_005')); + await Utils.sleep(100) + await button5.click() + await Utils.sleep(100) + let button6: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0014_006')); + await Utils.sleep(100) + await button6.click() + await Utils.sleep(100) + let button7: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0014_007')); + await Utils.sleep(100) + await button7.click() + await Utils.sleep(100) + let button8: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0014_008')); + await Utils.sleep(100) + await button8.click() + await Utils.sleep(100) + let button9: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0014_009')); + await Utils.sleep(100) + await button9.click() + await Utils.sleep(100) + let button10: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0014_010')); + await Utils.sleep(100) + await button10.click() + await Utils.sleep(100) + let button11: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0014_011')); + await Utils.sleep(100) + await button11.click() + await Utils.sleep(100) + let button12: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0014_012')); + await Utils.sleep(100) + await button12.click() + await Utils.sleep(100) + let button13: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0014_013')); + await Utils.sleep(100) + await button13.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0014 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0013 +* @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0013 +* @tc.desc 1、设置13个按钮,点击后给Tabs页签组件模糊效果改为Thin、Regular、Thick、 + BACKGROUND_THIN、BACKGROUND_REGULAR、BACKGROUND_THICK、 + BACKGROUND_ULTRA_THICK、NONE、 + COMPONENT_ULTRA_THIN、 + COMPONENT_THIN、COMPONENT_REGULAR、 + COMPONENT_THICK、COMPONENT_ULTRA_THICK + 2、Tabs组件中添加四个TabContent,分别设置SubTabBarStyle为Pink、Yellow,Blue、Green +*/ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0013', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0013 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0013") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0013_001')); + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + let button2: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0013_002')); + await Utils.sleep(100) + await button2.click() + await Utils.sleep(100) + let button3: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0013_003')); + await Utils.sleep(100) + await button3.click() + await Utils.sleep(100) + let button4: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0013_004')); + await Utils.sleep(100) + await button4.click() + await Utils.sleep(100) + let button5: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0013_005')); + await Utils.sleep(100) + await button5.click() + await Utils.sleep(100) + let button6: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0013_006')); + await Utils.sleep(100) + await button6.click() + await Utils.sleep(100) + let button7: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0013_007')); + await Utils.sleep(100) + await button7.click() + await Utils.sleep(100) + let button8: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0013_008')); + await Utils.sleep(100) + await button8.click() + await Utils.sleep(100) + let button9: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0013_009')); + await Utils.sleep(100) + await button9.click() + await Utils.sleep(100) + let button10: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0013_010')); + await Utils.sleep(100) + await button10.click() + await Utils.sleep(100) + let button11: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0013_011')); + await Utils.sleep(100) + await button11.click() + await Utils.sleep(100) + let button12: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0013_012')); + await Utils.sleep(100) + await button12.click() + await Utils.sleep(100) + let button13: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0013_013')); + await Utils.sleep(100) + await button13.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0013 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0012 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0012 + * @tc.desc 1、设置13个按钮,点击后给Tabs页签组件模糊效果改为Thin、Regular、Thick、 + BACKGROUND_THIN、BACKGROUND_REGULAR、BACKGROUND_THICK、 + BACKGROUND_ULTRA_THICK、NONE、 + COMPONENT_ULTRA_THIN、 + COMPONENT_THIN、COMPONENT_REGULAR、 + COMPONENT_THICK、COMPONENT_ULTRA_THICK + 2、Tabs组件中添加四个TabContent,分别设置SubTabBarStyle为Pink、Yellow,Blue、Green + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0012', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0012 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0012") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0012_001')); + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + let button2: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0012_002')); + await Utils.sleep(100) + await button2.click() + await Utils.sleep(100) + let button3: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0012_003')); + await Utils.sleep(100) + await button3.click() + await Utils.sleep(100) + let button4: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0012_004')); + await Utils.sleep(100) + await button4.click() + await Utils.sleep(100) + let button5: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0012_005')); + await Utils.sleep(100) + await button5.click() + await Utils.sleep(100) + let button6: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0012_006')); + await Utils.sleep(100) + await button6.click() + await Utils.sleep(100) + let button7: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0012_007')); + await Utils.sleep(100) + await button7.click() + await Utils.sleep(100) + let button8: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0012_008')); + await Utils.sleep(100) + await button8.click() + await Utils.sleep(100) + let button9: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0012_009')); + await Utils.sleep(100) + await button9.click() + await Utils.sleep(100) + let button10: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0012_010')); + await Utils.sleep(100) + await button10.click() + await Utils.sleep(100) + let button11: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0012_011')); + await Utils.sleep(100) + await button11.click() + await Utils.sleep(100) + let button12: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0012_012')); + await Utils.sleep(100) + await button12.click() + await Utils.sleep(100) + let button13: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0012_013')); + await Utils.sleep(100) + await button13.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0012 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0017 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0017 + * @tc.desc 1、设置13个按钮,点击后给Tabs页签组件模糊效果改为Thin、Regular、Thick、 + BACKGROUND_THIN、BACKGROUND_REGULAR、BACKGROUND_THICK、 + BACKGROUND_ULTRA_THICK、NONE、 + COMPONENT_ULTRA_THIN、 + COMPONENT_THIN、COMPONENT_REGULAR、 + COMPONENT_THICK、COMPONENT_ULTRA_THICK + 2、Tabs组件中添加四个TabContent,分别设置SubTabBarStyle为Pink、Yellow,Blue、Green + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0017', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0017 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0017") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0017_001')); + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + let button2: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0017_002')); + await Utils.sleep(100) + await button2.click() + await Utils.sleep(100) + let button3: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0017_003')); + await Utils.sleep(100) + await button3.click() + await Utils.sleep(100) + let button4: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0017_004')); + await Utils.sleep(100) + await button4.click() + await Utils.sleep(100) + let button5: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0017_005')); + await Utils.sleep(100) + await button5.click() + await Utils.sleep(100) + let button6: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0017_006')); + await Utils.sleep(100) + await button6.click() + await Utils.sleep(100) + let button7: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0017_007')); + await Utils.sleep(100) + await button7.click() + await Utils.sleep(100) + let button8: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0017_008')); + await Utils.sleep(100) + await button8.click() + await Utils.sleep(100) + let button9: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0017_009')); + await Utils.sleep(100) + await button9.click() + await Utils.sleep(100) + let button10: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0017_010')); + await Utils.sleep(100) + await button10.click() + await Utils.sleep(100) + let button11: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0017_011')); + await Utils.sleep(100) + await button11.click() + await Utils.sleep(100) + let button12: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0017_012')); + await Utils.sleep(100) + await button12.click() + await Utils.sleep(100) + let button13: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0017_013')); + await Utils.sleep(100) + await button13.click() + await Utils.sleep(100) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0017 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0011 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0011 + * @tc.desc 1、设置13个按钮,点击后给Tabs页签组件模糊效果改为Thin、Regular、Thick、 + BACKGROUND_THIN、BACKGROUND_REGULAR、BACKGROUND_THICK、 + BACKGROUND_ULTRA_THICK、NONE、 + COMPONENT_ULTRA_THIN、 + COMPONENT_THIN、COMPONENT_REGULAR、 + COMPONENT_THICK、COMPONENT_ULTRA_THICK + 2、Tabs组件中添加四个TabContent,分别设置SubTabBarStyle为Pink、Yellow,Blue、Green + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0011', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0011 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0011") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0011_001')); + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + let button2: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0011_002')); + await Utils.sleep(100) + await button2.click() + await Utils.sleep(100) + let button3: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0011_003')); + await Utils.sleep(100) + await button3.click() + await Utils.sleep(100) + let button4: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0011_004')); + await Utils.sleep(100) + await button4.click() + await Utils.sleep(100) + let button5: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0011_005')); + await Utils.sleep(100) + await button5.click() + await Utils.sleep(100) + let button6: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0011_006')); + await Utils.sleep(100) + await button6.click() + await Utils.sleep(100) + let button7: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0011_007')); + await Utils.sleep(100) + await button7.click() + await Utils.sleep(100) + let button8: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0011_008')); + await Utils.sleep(100) + await button8.click() + await Utils.sleep(100) + let button9: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0011_009')); + await Utils.sleep(100) + await button9.click() + await Utils.sleep(100) + let button10: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0011_010')); + await Utils.sleep(100) + await button10.click() + await Utils.sleep(100) + let button11: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0011_011')); + await Utils.sleep(100) + await button11.click() + await Utils.sleep(100) + let button12: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0011_012')); + await Utils.sleep(100) + await button12.click() + await Utils.sleep(100) + let button13: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0011_013')); + await Utils.sleep(100) + await button13.click() + await Utils.sleep(100) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0011 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0010 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0010 + * @tc.desc 1、设置13个按钮,点击后给Tabs页签组件模糊效果改为Thin、Regular、Thick、 + BACKGROUND_THIN、BACKGROUND_REGULAR、BACKGROUND_THICK、 + BACKGROUND_ULTRA_THICK、NONE、 + COMPONENT_ULTRA_THIN、 + COMPONENT_THIN、COMPONENT_REGULAR、 + COMPONENT_THICK、COMPONENT_ULTRA_THICK + 2、Tabs组件中添加四个TabContent,分别设置SubTabBarStyle为Pink、Yellow,Blue、Green + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0010', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0010 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0010") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0010_001')); + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + let button2: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0010_002')); + await Utils.sleep(100) + await button2.click() + await Utils.sleep(100) + let button3: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0010_003')); + await Utils.sleep(100) + await button3.click() + await Utils.sleep(100) + let button4: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0010_004')); + await Utils.sleep(100) + await button4.click() + await Utils.sleep(100) + let button5: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0010_005')); + await Utils.sleep(100) + await button5.click() + await Utils.sleep(100) + let button6: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0010_006')); + await Utils.sleep(100) + await button6.click() + await Utils.sleep(100) + let button7: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0010_007')); + await Utils.sleep(100) + await button7.click() + await Utils.sleep(100) + let button8: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0010_008')); + await Utils.sleep(100) + await button8.click() + await Utils.sleep(100) + let button9: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0010_009')); + await Utils.sleep(100) + await button9.click() + await Utils.sleep(100) + let button10: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0010_010')); + await Utils.sleep(100) + await button10.click() + await Utils.sleep(100) + let button11: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0010_011')); + await Utils.sleep(100) + await button11.click() + await Utils.sleep(100) + let button12: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0010_012')); + await Utils.sleep(100) + await button12.click() + await Utils.sleep(100) + let button13: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0010_013')); + await Utils.sleep(100) + await button13.click() + await Utils.sleep(100) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0050 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0050 + * @tc.desc 1、设置Tabs组件barMode(BarMode.Scrollable),使得每一个TabBar均使用实际布局宽度, + * 设置TabBar背景颜色为backgroundColor(0xF5F5F5), + * 设置barOverlap(true) + 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、TabBar设置barWidth(50) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0050', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0050 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0050") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0049 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0049 + * @tc.desc 1、设置Tabs组件barMode(BarMode.Scrollable),使得每一个TabBar均使用实际布局宽度, + * 设置TabBar背景颜色为backgroundColor(0xF5F5F5), + * 设置barOverlap(true) + 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、TabBar设置barWidth(100) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0049', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0049 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0049") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0049 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0048 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0048 + * @tc.desc 1、设置Tabs组件barMode(BarMode.Scrollable),使得每一个TabBar均使用实际布局宽度,设置 + TabBar背景颜色为backgroundColor(0xF5F5F5),设置barOverlap(true) + 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、设置分割线线宽为strokeWidth(1),颜色为红色 + 4、添加padding设置为10vp + 5、添加按钮Button(“关闭模糊效果),添加点击效果,backgroundBlurStyle参数设置为NONE + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0048', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0048 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0048") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0048_001')); + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + let button2: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0048_002')); + await Utils.sleep(100) + await button2.click() + await Utils.sleep(100) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0048 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0042 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0042 + * @tc.desc 1、设置Tabs组件barMode(BarMode.Fixed),所有TabBar平均分配barWidth宽度;设置 + SelecteMode =Selectedlode.BOARD + 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、TabBar设置barWidth(50) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0042', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0042 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0042") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0042 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0046 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0046 + * @tc.desc 1、设置Tabs组件barMode(BarMode.Fixed),所有TabBar平均分配barWidth宽度; + * 设置Selectedlode =Selectedlode.BOARD; + 2、Tabs组件中添加四个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green + 3、添加padding设置为10vp + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0046', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0046 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0046") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0046 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0043 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0043 + * @tc.desc 1、设置Tabs组件barMode(Barode.Scrollable),使得每一个TabBar均使用实际布局宽度; + 设置Selectedllode =Selectedlode.BOARD,BarMode参数设为Scrollable + 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、TabBar设置barVidth(80) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0043', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0043 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0043") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0043 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0045 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0045 + * @tc.desc 1、设置Tabs组件barMode(Barode.Scrollable),使得每一个TabBar均使用实际布局宽度;设置Selectedilode =Selectedlode.BOARD; + 2、Tabs组件中添加四个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green + 3、添加padding设置为10vp + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0045', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0045 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0045") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0045 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0044 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0044 + * @tc.desc 1、设置Tabs组件barMode(BarMode.Scrollable),使得每一个TabBar均使用实际布局宽度; + * 设置Selectedllode =Selectedllode.BOARD + 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、TabBar设置barHeight(300) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0044', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0044 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0044") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0044 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0038 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0038 + * @tc.desc 1、设置Tabs组件barMode(Bar)ode.Scrollable),使得每一个TabBar均使用实际布局宽度 + 2、Tabs组件中添加四个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green + 3、添加padding设置为10vp + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0038', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0038 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0038") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0038 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0041 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0041 + * @tc.desc 1、设置Tabs组件barMode(BarIode.Scrollable),使得每一个TabBar均使用实际布局宽度, + * 设置TabBar背景颜色为backgroundColor(0xF5F5F5), + * 设置barOverlap(true) + * 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、TabBar设置barWidth(50) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0041', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0041 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0041") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0041 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0040 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0040 + * @tc.desc 1、设置Tabs组件barMode(BarIode.Scrollable),使得每一个TabBar均使用实际布局宽度, + * 设置TabBar背景颜色为backgroundColor(0xF5F5F5), + * 设置barOverlap(true) + * 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、TabBar设置barWidth(100) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0040', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0040 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0040") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0039 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0039 + * @tc.desc 1、设置Tabs组件barMode(BarMode.Scrollable),使得每一个TabBar均使用实际布局宽度, + * 设置TabBar背景颜色为backgroundColor(0xF5F5F5), + * 设置barOverlap(true) + 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、设置分割线线宽为strokeWidth(1),颜色为红色 + 4、添加padding设置为10vp + 5、添加按钮Button(“关闭模糊效果),添加点击效果,backgroundBlurStyle参数设置为NONE + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0039', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0039 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0039") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0039_001')); + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + let button2: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0039_002')); + await Utils.sleep(100) + await button2.click() + await Utils.sleep(100) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0039 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0033 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0033 + * @tc.desc 1、设置Tabs组件barMode(BarMode.Fixed),所有TabBar平均分配barWidth宽度; + * 设置Selectedllode =Selectedlode.BOARD + 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、YellowBlue、Green、red、blue + 3、TabBar设置barWidth(50) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0033', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0033 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0033") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0033 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0034 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0034 + * @tc.desc 1、设置Tabs组件barMode(BarMode.Scrollable),使得每一个TabBar均使用实际布局宽度; + * 设置Selectedilode =Selectedlode.BOARD,BarMode参数设为Scrollable + 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、TabBar设置barWidth(80) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0034', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0034 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0034") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0034 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0036 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0036 + * @tc.desc 1、设置Tabs组件barMode(Barode.Scrollable),使得每一个TabBar均使用实际布局宽度; + * 设置Selectedllode =Selectedlode.BOARD; + 2、Tabs组件中添加四个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green + 3、添加padding设置为10vp + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0036', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0036 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0036") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0036 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0035 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0035 + * @tc.desc 1、设置Tabs组件barMode(BarMode.Scrollable),使得每一个TabBar均使用实际布局宽度; + * 设置Selectedllode =Selectedlode.BOARD + 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、TabBar设置barHeight(300) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0035', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0035 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0035") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0035 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0032 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0032 + * @tc.desc 1、设置Tabs组件barMode(BarMode.Scrollable),使得每一个TabBar均使用实际布局宽度 + 2、Tabs组件中添加四个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green + 对Tabs组件添加Magin设置为12vp + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0032', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0032 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0032") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0032 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0031 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0031 + * @tc.desc 1、设置Tabs组件barMode(Barode.Scrollable),使得每一个TabBar均使用实际布局宽度, + * 设置TabBar背景颜色为backgroundColor(0xF5F5F5), + * 设置bar0verlap(true) + 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、TabBar设置barWidth(50) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0031', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0031 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0031") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0031 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0030 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0030 + * @tc.desc 1、设置Tabs组件barMode(Barode.Scrollable),使得每一个TabBar均使用实际布局宽度, + * 设置TabBar背景颜色为backgroundColor(0xF5F5F5), + * 设置bar0verlap(true) + 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、TabBar设置barWidth(100) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0030', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0030 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0029 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0029 + * @tc.desc 1、设置Tabs组件barMode(BarMode.Scrollable),使得每一个TabBar均使用实际布局宽度, + * 设置TabBar背景颜色为backgroundColor(0xF5F5F5), + * 设置barOverlap(true) + 2、Tabs组件中添加六个TabContent,分别设置SubTabBarStyle为Pink、Yellow、Blue、Green、red、blue + 3、设置分割线线宽为strokeWidth(1),颜色为红色 + 4、添加padding设置为10vp + 5、添加按钮Button(“关闭模糊效果),添加点击效果,backgroundBlurStyle参数设置为NONE + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0029', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0029 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0029") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + await driver.delayMs(1000) + let button1: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0029_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0029_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0029 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0018 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0018 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0018', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0018 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0018") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0018_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0018 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0019 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0019 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0019', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0019 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0019") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentNavTabsBlurStyle0019_001')) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0019 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0020 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0020 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0020 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0020") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0020 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0021 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0021 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0021', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0021 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0021") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0021 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0022 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0022 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0022', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0022 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0022") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0022 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0023 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0023 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0023', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0023 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0023") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0023 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0024 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0024 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0024', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0024 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0024") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0024 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0025 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0025 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0025', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0025 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0025") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0025 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0026 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0026 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0026', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0026 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0026") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0026 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0027 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0027 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0027', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0026 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0027") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0027 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0028 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0028 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0028', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0028 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0028") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0028 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0047 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0047 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0047', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0047 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0047") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0047 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0051 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0051 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0051', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0051 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0051") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0051 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0052 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0052 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0052', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0052 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0052") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0052 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0053 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0053 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0053', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0053 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0053") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0053 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0060 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0060 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0060 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0060") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0060 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0080 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0080 + * @tc.desc nav width +*/ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0080 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0080") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0080 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0100 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0100 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0100 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0100") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0100 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0110 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0110 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0110 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0110") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0110 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0160 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0160 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0160 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0160") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0160 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0170 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0170 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0170 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0170") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0170 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0180 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0180 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0180 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0180") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0180 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0190 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0190 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0190 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0190") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0190 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0200 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0200 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0200', 0, async (done: Function) => { + Logger.info('TEST', `ccSUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0200 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0200") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ccSUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0200 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0210 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0210 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0210', 0, async (done: Function) => { + Logger.info('TEST', `ccSUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0210 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0210") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ccSUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0210 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0220 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0220 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0220', 0, async (done: Function) => { + Logger.info('TEST', `ccSUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0220 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0220") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `ccSUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0220 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0230 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0230 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0230 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0230") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0230 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0240 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0240 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0240 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0240") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0240 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0250 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0250 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0250 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0250") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0250 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0260 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0260 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0260 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0260") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0260 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0270 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0270 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0270 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0270") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0270 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0280 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0280 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0280 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0280") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0280 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0290 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0290 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0290 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0290") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0290 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0300 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0300 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0300 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0300") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0300 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0310 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0310 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0310 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0310") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0310 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0320 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0320 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0320', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0320 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0320") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0320 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0340 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0340 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0340', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0340 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0340") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0340 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0350 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0350 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0350', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0350 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0350") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0350 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0360 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0360 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0360', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0360 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0360") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0360 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0370 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0370 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0370', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0370 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0370") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0370 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0380 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0380 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0380', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0380 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0380") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0380 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0390 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0390 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0390', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0390 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0390") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0390 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0400 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0400 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0400', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0400 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0400") + await Utils.sleep(1000) + await windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_BLURSTYLE_0400 finish.`); + done() + }) + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsCachedCountTest/UIComponentNavTabsCachedCount.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsCachedCountTest/UIComponentNavTabsCachedCount.test.ets new file mode 100644 index 00000000..764434b8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsCachedCountTest/UIComponentNavTabsCachedCount.test.ets @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsCachedCount() { + + describe('UIComponentNavTabsCachedCount', () => { + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0140 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0140 + * @tc.desc 1、创建tabs,设置BarPosition.Start 2、设置preloadItens[1,3] + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0140', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0140 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount014") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabs014_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0140 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0150 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0150 + * @tc.desc 1、创建tabs,设置BarPosition.End 2、设置preloadItens[1,3] + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0150', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0150 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount015") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabs015_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0150 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0160 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0160 + * @tc.desc 1、创建tabs,设置BarPosition动态改变 + 2、设置preloadItens[1,3] + 3、动态切换BarPosition + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0160', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0160 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount016") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabs016_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CACHEDCOUNT_0160 finish.`); + done() + }) + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsContentAdaptTest/UIComponentNavTabsContentAdapt.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsContentAdaptTest/UIComponentNavTabsContentAdapt.test.ets new file mode 100644 index 00000000..2cf0a074 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsContentAdaptTest/UIComponentNavTabsContentAdapt.test.ets @@ -0,0 +1,699 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsContentAdapt() { + + describe('UIComponentNavTabsContentAdapt', () => { + + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0310 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0310 + * @tc.desc 1、创建横向tabs(BarPosition.Start),设置height为auto,设置每个页面高度不同 + 2、编译安装查看效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0310', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0310 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0310") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let tabBar1:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt0310_001')); + await Utils.sleep(1000) + await tabBar1.click() + await Utils.sleep(1000) + await tabBar1.click() + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0310 finish.`); + done() + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0010 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0010 + * @tc.desc 创建横向tabs(BarPosition.Start),设置width为auto,设置每个页面宽度不同 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0010', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0010 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0020 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0020 + * @tc.desc 创建横向tabs(BarPosition.Start),设置height为auto,设置每个页面高度不同 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0020', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0020 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0030 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0030 + * @tc.desc 创建横向tabs(BarPosition.End),设置height为auto,设置每个页面高度不同 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0030', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0030 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0040 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0040 + * @tc.desc 创建横向tabs(BarPosition.End),设置width为auto,设置每个页面宽度不同 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0040', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0040 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0100 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0100 + * @tc.desc 1、创建纵向tabs(BarPosition.Start),设置width为auto,设置每个页面宽度不同 + 2、编译安装查看效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0100', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0100 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0100 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0110 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0110 + * @tc.desc 1、创建纵向tabs(BarPosition.Start),设置height为auto,设置每个页面高度不同 + 2、编译安装查看效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0110', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0110 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt011") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0110 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0120 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0120 + * @tc.desc 1、创建纵向tabs(BarPosition.End),设置height为auto,设置每个页面高度不同 + 2、编译安装查看效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0120', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0120 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0120 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0130 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0130 + * @tc.desc 1、创建纵向tabs(BarPosition.End),设置width为auto,设置每个页面宽度不同 + 2、编译安装查看效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0130', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0130 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt013") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0130 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0330 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0330 + * @tc.desc 1、创建横向tabs(BarPosition.Start),设置height为auto,设置每个页面高度不同,设置barPosition可以动态切换 + 2、动态切换barPosition属性观察效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0330', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0330 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt033") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabs033_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0330 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0340 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0340 + * @tc.desc 1、创建纵向tabs(BarPosition.Start),设置width可以动态切换(200、‘auto'、‘100%、-100) + 2、动态切换观察效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0340', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0340 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt034") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt034_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt034_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + let button3:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt034_003')); + await Utils.sleep(1000) + await button3.click() + await Utils.sleep(1000) + let button4:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt034_004')); + await Utils.sleep(1000) + await button4.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0340 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0350 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0350 + * @tc.desc 1、创建横向tabs(BarPosition.Start),设置height可以动态切换入参(300、‘auto',50%’、-1) + 2、动态切换观察效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0350', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0350 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt035") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt035_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button3:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt035_002')); + await Utils.sleep(1000) + await button3.click() + await Utils.sleep(1000) + let button4:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt035_003')); + await Utils.sleep(1000) + await button4.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt035_004')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0350 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0070 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0070 + * @tc.desc 1、创建横向tabs(BarPosition.Start),设置height可以动态切换入参(300、‘auto',50%’、-1) + 2、动态切换观察效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0070', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0070 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt007") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt007_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt007_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + let button3:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt007_003')); + await Utils.sleep(1000) + await button3.click() + await Utils.sleep(1000) + let button4:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt007_004')); + await Utils.sleep(1000) + await button4.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0070 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0320 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0320 + * @tc.desc 1、创建横向tabs(BarPosition.Start),设置width和height为auto,设置每个页面高度、宽度不同,设置vertical可以动态切换 + 2、动态切换vertical属性观察效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0320', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0320 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt032") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt032_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0320 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0140 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0140 + * @tc.desc 1、创建横向tabs(BarPosition.Start),设置height为auto,设置每个页面高度不同,scrollable属性设置为false + 2、编译安装查看效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0140', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0140 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt014") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0140 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0270 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0270 + * @tc.desc 1、创建横向tabs(BarPosition.Start),设置height为auto,设置每个页面高度不同,设置divider大小可以动态改变 + 2、编译安装查看效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0270', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0270 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt027") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt027_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt027_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0270 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0280 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0280 + * @tc.desc 1、创建横向tabs(BarPosition.Start),设置height为auto,设置每个页面高度不同, + * 设置divider可以动态改变颜色、前后Margin + 2、编译安装查看效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0280', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0280 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt028") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt028_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt028_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + let button3:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt028_003')); + await Utils.sleep(1000) + await button3.click() + await Utils.sleep(1000) + let button4:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt028_004')); + await Utils.sleep(1000) + await button4.click() + await Utils.sleep(1000) + let button5:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt028_005')); + await Utils.sleep(1000) + await button5.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0280 finish.`); + done() + }) + /* +* @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0300 +* @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0300 +* @tc.desc 1、创建横向tabs(BarPosition.Start),设置height为auto, + 设置每个页面高度不同,设置barOverlap为true + 2、编译安装查看效果 +*/ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0300', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0300 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0300 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0080 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0080 + * @tc.desc 1、创建横向tabs(BarPosition.Start),设置height为auto,设置每个页面高度不同;设置border可以改变 + 2、编译安装查看效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0080', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0080 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0080") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + await Utils.sleep(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt0080_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt0080_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0050 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0050 + * @tc.desc 1、创建横向tabs(BarPosition.Start),设置height为auto,设置每个页面高度不同;设置border可以改变 + 2、编译安装查看效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0050', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0050 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0050") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0210 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0210 + * @tc.desc 1、创建横向tabs(BarPosition.Start),设置height为auto + 2、页签为BottomTabbarStyle样式,动态切换barheight观察自适应情况 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0210', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0210 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0210") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt0210_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0210 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0150 +* @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0150 +* @tc.desc 1、创建横向tabs(BarPosition.Start),设置height为auto + 2、页签为BottomTabbarStyle样式,动态切换barwidth观察自适应情况 +*/ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0150', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0150 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0150") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt0150_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0150 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0240 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0240 + * @tc.desc 1、创建纵向tabs(BarPosition.Start),设置width为auto + 2、页签为BottomTabbarStyle样式,动态切换barheight观察自适应情况 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0240', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0240 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0240") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt0240_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0240 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0180 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0180 + * @tc.desc 1、创建纵向tabs(BarPosition.Start),设置width为auto + 2、页签为BottomTabbarStyle样式,动态切换barwidth观察自适应情况 +*/ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0180', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0180 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0180") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsContentAdapt0180_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0180 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0220 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0220 + * @tc.desc 横向 tabs(BarPosition.Start), height: auto, change barheight + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0220 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0220") + await Utils.sleep(2000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentNavTabsContentadapt0220_001')) + await button.click() + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0220 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0160 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0160 + * @tc.desc 横向 tabs(BarPosition.Start), height: auto, change barwidth + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0160 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0160") + await Utils.sleep(2000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentNavTabsContentadapt0160_001')) + await button.click() + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0160 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0250 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0250 + * @tc.desc 纵向 tabs(BarPosition.Start), width: auto, change barheight + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0250 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0250") + await Utils.sleep(2000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentNavTabsContentadapt0250_001')) + await button.click() + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0250 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0190 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0190 + * @tc.desc 纵向 tabs(BarPosition.Start), width: auto, change barwidth + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0190 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0190") + await Utils.sleep(2000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentNavTabsContentadapt0190_001')) + await button.click() + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0190 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0170 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0170 + * @tc.desc 横向 tabs(BarPosition.Start), height: auto, change barwidth + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0170 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0170") + await Utils.sleep(2000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentNavTabsContentadapt0170_001')) + await button.click() + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0170 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0200 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0200 + * @tc.desc 纵向 tabs(BarPosition.Start), height: auto, change barwidth + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0200 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0200") + await Utils.sleep(2000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentNavTabsContentadapt0200_001')) + await button.click() + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0200 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0230 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0230 + * @tc.desc 横向 tabs(BarPosition.Start), height: auto, change barheight + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0230 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0230") + await Utils.sleep(2000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentNavTabsContentadapt0230_001')) + await button.click() + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0230 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0260 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0260 + * @tc.desc 纵向 tabs(BarPosition.Start), width: auto, change barheight + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0260 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0260") + await Utils.sleep(2000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentNavTabsContentadapt0260_001')) + await button.click() + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_CONTENTADAPT_0260 finish.`); + done() + }) + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsEdgeeffectTest/UIComponentNavTabsEdgeeffect.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsEdgeeffectTest/UIComponentNavTabsEdgeeffect.test.ets new file mode 100644 index 00000000..c40fb8c1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsEdgeeffectTest/UIComponentNavTabsEdgeeffect.test.ets @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsEdgeeffect() { + + describe('UIComponentNavTabsEdgeeffect', () => { + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EDGEEFFECT_0230 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EDGEEFFECT_0230 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EDGEEFFECT_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EDGEEFFECT_0230 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsEdgeeffect/UIComponentNavTabsEdgeeffect0230") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EDGEEFFECT_0230 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EDGEEFFECT_0270 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EDGEEFFECT_0270 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EDGEEFFECT_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EDGEEFFECT_0270 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsEdgeeffect/UIComponentNavTabsEdgeeffect0270") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EDGEEFFECT_0270 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsExpandsafeareaTest/UIComponentNavTabsExpandsafearea.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsExpandsafeareaTest/UIComponentNavTabsExpandsafearea.test.ets new file mode 100644 index 00000000..48b15dd2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsExpandsafeareaTest/UIComponentNavTabsExpandsafearea.test.ets @@ -0,0 +1,198 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsExpandsafearea() { + + describe('UIComponentNavTabsExpandsafearea', () => { + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0090 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0090 + * @tc.desc scroller+tab + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0090 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0090") + await Utils.sleep(2000) + // let driver: Driver = Driver.create() + // let button: Component = await driver.findComponent(ON.id('UIComponentTabTabbarTabbarsymbol0050_001')) + // await button.click() + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0090 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0090 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0090 + * @tc.desc scroller+tab + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0090 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0010") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0090 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0120 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0120 + * @tc.desc scroller+tab + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0120 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0120") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0120 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0050 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0050 + * @tc.desc scroller+tab + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0050 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0050") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0050 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0080 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0080 + * @tc.desc scroller+tab + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0080 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0080") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0080 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0070 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0070 + * @tc.desc scroller+tab + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0070 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0070") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0070 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0060 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0060 + * @tc.desc scroller+tab + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0060 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0060") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0060 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0040 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0040 + * @tc.desc scroller+tab + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0040 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0040") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0040 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0030 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0030 + * @tc.desc scroller+tab + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0030 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0030") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0030 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0020 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0020 + * @tc.desc scroller+tab + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0020 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0020") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0020 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0100 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0100 + * @tc.desc scroller+tab + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0100 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0100") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0100 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0110 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0110 + * @tc.desc scroller+tab + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0110 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0110") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_EXPANDSAFEAREA_0110 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsHeightTest/UIComponentNavTabsHeight.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsHeightTest/UIComponentNavTabsHeight.test.ets new file mode 100644 index 00000000..aad3189a --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsHeightTest/UIComponentNavTabsHeight.test.ets @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsHeight() { + + describe('UIComponentNavTabsHeight', () => { + + /* +* @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_HEIGHT_0010 +* @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_HEIGHT_0010 +* @tc.desc 1、创建tabs组件,设置tabs组件height为auto + 2、动态切换观察效果 +*/ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_HEIGHT_0010', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_HEIGHT_0010 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsHeight/UIComponentNavTabsHeight001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_HEIGHT_0010 finish.`); + done() + }) + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsImproTraceTest/UIComponentNavTabsImproTrace.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsImproTraceTest/UIComponentNavTabsImproTrace.test.ets new file mode 100644 index 00000000..ebabf71d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsImproTraceTest/UIComponentNavTabsImproTrace.test.ets @@ -0,0 +1,354 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsImproTrace() { + + describe('UIComponentNavTabsImproTrace', () => { + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0150 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0150 + * @tc.desc 1、tabs组件,设置2000个子组件,TabBar设置为Scrollable + 2、使用index切换页面 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0150', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0150 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0150") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0150_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0150_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0150 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0140 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0140 + * @tc.desc 1、tabs组件,设置2000个子组件,TabBar设置为Scrollable + 2、使用changeindex切换页面 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0140', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0140 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0140") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0140_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0140_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0140 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0120 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0120 + * @tc.desc 1、tabs组件,设置2000个子组件,TabBar设置为Scrollable + 2、更改tabscontent宽高 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0120', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0120 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0120") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0120_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0120_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0120 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0080 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0080 + * @tc.desc 1、tabs组件,设置2000个子组件,TabBar设置为Scrollable + 2、横竖屏旋转 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0080', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0080 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0080") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0080_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0080_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0040 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0040 + * @tc.desc 1、tabs组件,设置2000个子组件,TabBar设置为Scrollable + 2、滑动页签 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0040', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0040 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0040") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0040_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let tabsCenter:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0040_002')); + let pos = await tabsCenter.getBoundsCenter() + await driver.swipe(pos.x,pos.y+250,pos.x-350,pos.y+250) + await Utils.sleep(1000) + await driver.swipe(pos.x,pos.y+250,pos.x+350,pos.y+250) + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0060 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0060 + * @tc.desc 1、tabs组件,设置2000个子组件,TabBar设置为Scrollable + 2、滑动页签边缘, 触发边缘回弹效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0060', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0060 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0060") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0060_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let tabsCenter:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0060_002')); + let pos = await tabsCenter.getBoundsCenter() + await driver.swipe(pos.x,pos.y+250,pos.x+200,pos.y+250) + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0070 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0070 + * @tc.desc 1、tabs组件,设置2000个子组件,TabBar设置为Scrollable + 2、滑动页面切换页签 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0070', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0070 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0070") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0070_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let tabsCenter:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0070_002')); + let pos = await tabsCenter.getBoundsCenter() + await driver.swipe(pos.x+300,pos.y,pos.x-300,pos.y) + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0030 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0030 + * @tc.desc 1、tabs组件,设置2000个子组件,TabBar设置为Scrollable + 2、点击不同页签切换页面 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0030', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0030 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0030") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0030_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let tabBar:Component = await driver.findComponent(ON.id('2')); + await Utils.sleep(1000) + await tabBar.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0020 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0020 + * @tc.desc 1、tabs组件,设置2000个子组件,TabBar设置为Scrollable + 2、自定义页签 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0020', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0020 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0020") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0020 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0160 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0160 + * @tc.desc 1、设置不同初始index值 + 2、设置不同的vertical(排列方向)、barMode(布局模式)、barHeight(页签高度)、barGridAlign(栅格)、direction(镜像)等属性 + 3、设置不同的页签样式,包括子页签、底部页签(image、svg、symbol格式)、自定义页签等,设置不同页签属性,如selectedMode、layoutMode、symmetricExtensible等 + 4、进入页面查看 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0160', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0160 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0160") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0160_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(100) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0160_002')); + await Utils.sleep(500) + await button2.click() + await Utils.sleep(100) + let button3:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0160_003')); + await Utils.sleep(500) + await button3.click() + await Utils.sleep(100) + let button4:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0160_004')); + await Utils.sleep(500) + await button4.click() + await Utils.sleep(100) + let button5:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0160_005')); + await Utils.sleep(500) + await button5.click() + await Utils.sleep(100) + let button6:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0160_006')); + await Utils.sleep(500) + await button6.click() + await Utils.sleep(100) + let button7:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0160_007')); + await Utils.sleep(500) + await button7.click() + await Utils.sleep(100) + let button8:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0160_008')); + await Utils.sleep(500) + await button8.click() + await Utils.sleep(100) + let button9:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0160_009')); + await Utils.sleep(500) + await button9.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0160 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0130 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0130 + * @tc.desc 1、tabs组件,设置2000个子组件,TabBar设置为Scrollable + 2、镜像测试 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0130', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0130 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0130") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0130_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsImproTrace0130_002')); + await Utils.sleep(500) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0130 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0010 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0010 + * @tc.desc 1、tabs组件,设置2000个子组件,TabBar设置为Scrollable + 2、首次进入页面 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0010', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0010 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_IMPROTRACE_0010 finish.`); + done() + }) + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsInterceptionTest/UIComponentNavTabsInterception.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsInterceptionTest/UIComponentNavTabsInterception.test.ets new file mode 100644 index 00000000..e30fe0a5 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsInterceptionTest/UIComponentNavTabsInterception.test.ets @@ -0,0 +1,295 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsInterception() { + + describe('UIComponentNavTabsInterception', () => { + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0130 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0130 + * @tc.desc 1、创建纵向Tabs包含5个TabContent,index=0 + 2、设置onContentWil1Change接口,如果comingIndex为3,return false,编译安装 + 3、手指滑动素引2页到素引3页 + 4、手指滑动素引4页到素引3页 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0130', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0130 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0130") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let tabsCenter :Component = await driver.findComponent(ON.id('UIComponentNavTabsInterception0130_001')) + await Utils.sleep(1000) + let pos = await tabsCenter.getBoundsCenter() + await driver.swipe(pos.x,pos.y,pos.x-56,pos.y) + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0130 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0040 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0040 + * @tc.desc 1、创建Tabs包合5个TabContent,index=0 + 2、设置onContentVillChange接口,如果comingIndex为3,return false; + 设置TabsController.changeIndex。编译安装 + 3、点击按钮切换到素引3的页签(调用changeIndex) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0040', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0040 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0040") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsInterception0040_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0060 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0060 + * @tc.desc 1、创建Tabs包合5个TabContent,index=0 + 2、设置onContentVillChange接口,如果comingIndex为3,return false; + 设置TabsController.changeIndex。编译安装 + 3、点击按钮切换到素引3的页签(调用changeIndex) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0060', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0060 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0060") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsInterception0060_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0080 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0080 + * @tc.desc 1、创建Tabs包合5个TabContent,index=0 + 2、设置onContentVillChange接口,如果comingIndex为3,return false; + 设置TabsController.changeIndex。编译安装 + 3、点击按钮切换到素引3的页签(调用changeIndex) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0080', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0080 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0080") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let tabBar:Component = await driver.findComponent(ON.id('我的')); + await Utils.sleep(1000) + await tabBar.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0050 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0050 + * @tc.desc 1、创建Tabs包含5个TabContent,index=0 + 2、设置onContentWillChange接口,如果comingIndex为3,return true; + 设置TabsController.changeIndex。编译安装 + 3、点击按钮切换到素引3的页签(调用changeIndex) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0050', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0050 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0050") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button:Component = await driver.findComponent(ON.id('UIComponentNavTabsInterception0050_001')); + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0050 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0070 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0070 + * @tc.desc 1、创建Tabs包含5个TabContent,index=0 + 2、设置onContentWillChange接口,如果comingIndex为3,return true; + 设置TabsController.changeIndex。编译安装 + 3、点击按钮切换到素引3的页签(调用changeIndex) + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0070', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0070 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0070") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button:Component = await driver.findComponent(ON.id('UIComponentNavTabsInterception0070_001')); + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0010 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0010 + * @tc.desc 1、创建Tabs包含5个TabContent,index=0 + 2、设置onContentWillChange接口,如果currentIndex为2,coningIndex为3,return false,编译安装 + 3、手指滑动索引2页面到素引3页面 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0010', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0010 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0010") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + await Utils.sleep(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsInterception0010_002')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let tabsCenter :Component = await driver.findComponent(ON.id('UIComponentNavTabsInterception0010_001')) + await Utils.sleep(1000) + let pos = await tabsCenter.getBoundsCenter() + await driver.swipe(pos.x+100,pos.y,pos.x-356,pos.y) + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0030 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0030 + * @tc.desc 1、创建Tabs包含5个TabContent,index=3 + 2、设置onContentVil1Change接口,如果comingIndex为3,return true,编译安装 + 3、手指滑动素引2页到素引3页 + 4、手指滑动素引4页到索引3页 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0030', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0030 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0030") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + await Utils.sleep(1000) + + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsInterception0030_002')); + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + + let tabsCenter :Component = await driver.findComponent(ON.id('UIComponentNavTabsInterception0030_001')) + await Utils.sleep(1000) + let pos = await tabsCenter.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x+100,pos.y,pos.x-356,pos.y) + await Utils.sleep(2000) + + let button4:Component = await driver.findComponent(ON.id('UIComponentNavTabsInterception0030_004')); + await Utils.sleep(1000) + await button4.click() + await Utils.sleep(1000) + + await driver.swipe(pos.x-100,pos.y,pos.x+356,pos.y) + await Utils.sleep(1000) + + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0030 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0150 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0150 + * @tc.desc 1、创建Tabs包含5个TabContent,index=0,设置TabContent可动态改变个数 + 2、设置onContentWil1Change接口,如果comingIndex为3,return false,编译安装 + 3、点击按钮动态减少、增加TabContent + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0150', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0150 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0150") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + await Utils.sleep(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsInterception0150_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsInterception0150_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0150 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0090 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0090 + * @tc.desc 1、创建Tabs包含5个TabContent,index=0 + 2、设置onContentWil1Change接口,如果comingIndex为3,return true,编译安装 + 3、点击素引3页的tabbar + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0090', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0090 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0090") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let tabBar:Component = await driver.findComponent(ON.id('我的')); + await Utils.sleep(1000) + await tabBar.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERCEPTION_0090 finish.`); + done() + }) + + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsInterfaceTest/UIComponentNavTabsInterface.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsInterfaceTest/UIComponentNavTabsInterface.test.ets new file mode 100644 index 00000000..82671418 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsInterfaceTest/UIComponentNavTabsInterface.test.ets @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsInterface() { + + describe('UIComponentNavTabsInterface', () => { + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_0120 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_0120 + * @tc.desc 1、添加Tabs组件 + 2、设置index:0 + 3、设置TabContent数量为4 + 4、设置barwidth超过容器宽度 + 6、不设置属性fadingEdge + 7、编译安装 +*/ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_0120', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_0120 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_0120 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_1190 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_1190 + * @tc.desc 1、添加Tabs组件 + 2、添加TabContent + 3、设置选中位置为新添加的位置 + 4、编译安装 + 5、动态增加tab页签个数 + 6、观察选中状态的位置 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_1190', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_1190 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface1190") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsInterface1190_001')); + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_1190 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_1220 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_1220 + * @tc.desc 1、添加Tabs组件 + 2、添加TabContent + 3、第一个tabcontent右滑 + 4、边缘效果未结束前点击返回 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_1220', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_1220 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface1220") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + await Utils.sleep(1000) + let tabsCenter :Component = await driver.findComponent(ON.id('UIComponentNavTabsInterface1220_001')) + await Utils.sleep(1000) + let pos = await tabsCenter.getBoundsCenter() + await driver.swipe(pos.x,pos.y,pos.x-100,pos.y) + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_INTERFACE_1220 finish.`); + done() + }) + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsMirrorTest/UIComponentNavTabsMirror.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsMirrorTest/UIComponentNavTabsMirror.test.ets new file mode 100644 index 00000000..66e339f3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsMirrorTest/UIComponentNavTabsMirror.test.ets @@ -0,0 +1,378 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsMirror() { + + describe('UIComponentNavTabsMirror', () => { + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0100 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0100 + * @tc.desc 1、创建横向tabs页签位置BarPosition.Start,设置barOverlap属性 + 2、设置direction可以动态改变 + 3、动态切换镜像方向观察效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0100', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0100 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror010") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror010_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0100 finish.`); + done() + }) + + + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0070 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0070 + * @tc.desc 1、创建tabs布局方向可以动态改变更新转测版本,新建ets页面 + 2、设置direction可以动态改变 + 3、动态切换属性观察效果 + */ + it('SUB_ACE_UI_0OMPONENT_NAV_TABS_MIRROR_0070', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_0OMPONENT_NAV_TABS_MIRROR_0070 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0070") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror0070_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_0OMPONENT_NAV_TABS_MIRROR_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0030 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0030 + * @tc.desc 1、创建横向tabs页签位置可以动态改变 + 2、设置direction可以动态改变 + 3、动态切换镜像方向观察效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0030', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0030 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0030") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror0030_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0090 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0090 + * @tc.desc 1、创建横向tabs页签位置BarPosition.Start + 2、设置direction可以动态改变 + 3、动态切换镜像方向观察效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0090', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0090 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0090") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror0090_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0090 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0110 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0110 + * @tc.desc 1、创建tabs,设置SubTabBarStyle样式 + 2、设置镜像效果 +*/ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0110', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0110 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0110") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror0110_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0110 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0160 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0160 + * @tc.desc 1、创建tabs,设置SubTabBarStyle样式 + 2、设置镜像效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0160', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0160 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0160") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror0160_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0160 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0120 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0120 + * @tc.desc 1、创建tabs,设置BottomTabBarStyle样式 + 2、设置镜像效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0120', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0120 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0120") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror0120_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0120 finish.`); + done() + }) + + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0140 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0140 + * @tc.desc 1、创建tabs,设置BottomTabBarStyle样式 + 2、设置镜像效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0140', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0140 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0140") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror0140_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0140 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0130 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0130 + * @tc.desc 1、创建tabs,设置tabbar布局模式设为BarMode.Scrollable + 2、设置镜像效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0130', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0130 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0130") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror0130_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0130 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0150 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0150 + * @tc.desc 1、创建tabs,tabbar设置padding动态改变 + 2、设置镜像效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0150', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0150 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0150") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror0150_001')); + await Utils.sleep(500) + await button1.click() + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror0150_002')); + await Utils.sleep(500) + await button2.click() + await Utils.sleep(100) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0150 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0260 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0260 + * @tc.desc 1、创建tabs嵌套横向list + 2、设置镜像效果 + 3、切换页签 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0260', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0260 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0260") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let tabBar0:Component = await driver.findComponent(ON.id('Tab0')); + await Utils.sleep(1000) + await tabBar0.click() + await Utils.sleep(1000) + let tabBar1:Component = await driver.findComponent(ON.id('Tab1')); + await Utils.sleep(1000) + await tabBar1.click() + await Utils.sleep(1000) + await tabBar0.click() + await Utils.sleep(1000) + let button:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror0260_001')); + await Utils.sleep(200) + await button.click() + await Utils.sleep(200) + await button.click() + await Utils.sleep(200) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0260 finish.`); + done() + }) + + + /* +* @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0250 +* @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0250 +* @tc.desc 1、创建tabs嵌套web + 2、设置镜像效果 + 3、切换页签 +*/ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0250', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0250 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0250") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror0250_001')); + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0250 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0080 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0080 + * @tc.desc 1、创建tabs,设置divider的前后Margin动态改变 + 2、设置direction可以动态改变 + 3、动态切换属性观察效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0080', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0080 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror080") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror080_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror080_002')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + let button3:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror080_003')); + await Utils.sleep(1000) + await button3.click() + await Utils.sleep(1000) + let button4:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror080_004')); + await Utils.sleep(1000) + await button4.click() + await Utils.sleep(1000) + let button5:Component = await driver.findComponent(ON.id('UIComponentNavTabsMirror080_005')); + await Utils.sleep(1000) + await button5.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_MIRROR_0080 finish.`); + done() + }) + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsOnWillShowTest/UIComponentNavTabsOnWillShow.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsOnWillShowTest/UIComponentNavTabsOnWillShow.test.ets new file mode 100644 index 00000000..acfc595c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsOnWillShowTest/UIComponentNavTabsOnWillShow.test.ets @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsOnWillShow() { + + describe('UIComponentNavTabsOnWillShow', () => { + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TABS_ONWILLSHOW_0190 + * @tc.name SUB_ACE_UI_COMPONENT_TABS_ONWILLSHOW_0190 + * @tc.desc 1、创建tabs组件,包含子组件TabContent + 2、点击底部页签或侧边页签 +*/ + it('SUB_ACE_UI_COMPONENT_TABS_ONWILLSHOW_0190', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TABS_ONWILLSHOW_0190 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsOnWillShow/UIComponentNavTabsOnWillShow0190") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('tab2')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('tab_2')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TABS_ONWILLSHOW_0190 finish.`); + done() + }) + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsSubTabbarStyleTest/UIComponentNavTabsSubTabbarStyle.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsSubTabbarStyleTest/UIComponentNavTabsSubTabbarStyle.test.ets new file mode 100644 index 00000000..577359a2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsSubTabbarStyleTest/UIComponentNavTabsSubTabbarStyle.test.ets @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsSubTabbarStyle() { + + describe('UIComponentNavTabsSubTabbarStyle', () => { + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_SUBTABBARSTYLE_0010 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_SUBTABBARSTYLE_0010 + * @tc.desc 1、创建tabs组件 + 2、页签为SubTabbarStyle样式,页签设置为svg图片+文本 + 3、切换页面 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_SUBTABBARSTYLE_0010', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_SUBTABBARSTYLE_0010 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsSubTabbarStyle/UIComponentNavTabsSubTabbarStyle0010") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('Pink')); + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + let button2:Component = await driver.findComponent(ON.id('Yellow')); + await Utils.sleep(100) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_SUBTABBARSTYLE_0010 finish.`); + done() + }) + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsWidthTest/UIComponentNavTabsWidth.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsWidthTest/UIComponentNavTabsWidth.test.ets new file mode 100644 index 00000000..54b79ec3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentNavTabsWidthTest/UIComponentNavTabsWidth.test.ets @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentNavTabsWidth() { + + describe('UIComponentNavTabsWidth', () => { + + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_NAV_TABS_WIDTH_0010 + * @tc.name SUB_ACE_UI_COMPONENT_NAV_TABS_WIDTH_0010 + * @tc.desc 1、创建tabs组件,设置tabs组件width为auto + 2、动态切换观察效果 + */ + it('SUB_ACE_UI_COMPONENT_NAV_TABS_WIDTH_0010', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_WIDTH_0010 start.`); + Settings.createWindow("testability/pages/UIComponentNavTabsWidth/UIComponentNavTabsWidth001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_NAV_TABS_WIDTH_0010 finish.`); + done() + }) + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshAbilityTest/UIComponentOtherRefreshAbility.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshAbilityTest/UIComponentOtherRefreshAbility.test.ets new file mode 100644 index 00000000..a86014eb --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshAbilityTest/UIComponentOtherRefreshAbility.test.ets @@ -0,0 +1,169 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentOtherRefreshAbility() { + + describe('UIComponentOtherRefreshAbility', () => { + + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0080 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0080 + * @tc.desc 创建Refresh组件,设置refreshOffset(-1),编译安装 +*/ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0080', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0080 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0080") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0080 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0070 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0070 + * @tc.desc 创建Refresh组件,设置refreshOffset(0),编译安装 +*/ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0070', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0070 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0070") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0090 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0090 + * @tc.desc 创建Refresh组件,组件高度为499,设置refreshOffset(500),编译安装 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0090', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0090 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0090") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0050 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0050 + * @tc.desc 创建Refresh组件,设置refreshOffset(70),编译安装 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0050', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0050 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0050") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0050 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0100 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0100 + * @tc.desc 创建Refresh组件,设置refreshOffset(60.5)编译安装 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0100', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0100 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0100") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0100 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0040 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0040 + * @tc.desc 创建Refresh组件,设置pullToRefresh值可以动态修改,编译安装 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0040', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0040 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0040") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button:Component = await driver.findComponent(ON.id('UIComponentOtherRefreshAbility0040_001')); + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_ABILITY_0040 finish.`); + done() + }) + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshInterActionTest/UIComponentOtherRefreshInterAction.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshInterActionTest/UIComponentOtherRefreshInterAction.test.ets new file mode 100644 index 00000000..5982175f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshInterActionTest/UIComponentOtherRefreshInterAction.test.ets @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentOtherRefreshInterAction() { + + describe('UIComponentOtherRefreshInterAction', () => { + + + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0380 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0380 + * @tc.desc 1、进入list builder不设置宽高页面 + 2、下拉组件刷新 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0380', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0380 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0380") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0380 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0400 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0400 + * @tc.desc 1、进入list设置高度大于刷新区域页面 + 2、下拉组件刷新 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0400', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0400 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0400") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+400) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0400 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0390 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0390 + * @tc.desc 1、进入list固定高度页面 + 2、下拉组件刷新 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0390', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0390 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0390") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+400) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0390 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0410 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0410 + * @tc.desc 1、进入list builder宽高设置百分比 + 2、下拉组件刷新 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0410', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0410 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0410") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+400) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERACTION_0410 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshInterfaceTest/UIComponentOtherRefreshInterface.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshInterfaceTest/UIComponentOtherRefreshInterface.test.ets new file mode 100644 index 00000000..5243db1f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshInterfaceTest/UIComponentOtherRefreshInterface.test.ets @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentOtherRefreshInterface() { + + describe('UIComponentOtherRefreshInterface', () => { + + + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0140 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0140 + * @tc.desc 1、Refresh的offset参数:string :'0'设置friction:100 + 2、页面下拉 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0140', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0140 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0140") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0140 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0170 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0170 + * @tc.desc 1、Refresh的offset参数:nunber :-100,设置friction:100 + 2、页面下拉 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0170', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0170 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0170") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0170 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0180 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0180 + * @tc.desc 1、Refresh的offset参数:number :0 设置friction:100 + 2、页面下拉 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0180', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0180 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0180") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_INTERFACE_0180 finish.`); + done() + }) + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshPromptTextTest/UIComponentOtherRefreshPromptText.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshPromptTextTest/UIComponentOtherRefreshPromptText.test.ets new file mode 100644 index 00000000..f1c73b54 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentOtherRefreshPromptTextTest/UIComponentOtherRefreshPromptText.test.ets @@ -0,0 +1,174 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentOtherRefreshPromptText() { + + describe('UIComponentOtherRefreshPromptText', () => { + + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0110 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0110 + * @tc.desc 1、创建refresh,设置自定义文本为Resource类型的混合内容 + 2、下拉刷新 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0110', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0110 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0110") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0110 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0100 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0100 + * @tc.desc 1、创建refresh,设置自定义文本为Resource类型的特殊字符 + 2、下拉刷新 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0100', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0100 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0100") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0100 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0060 + * @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0060 + * @tc.desc 1、创建refresh,设置自定义文本为字符串类型的混合内容 + 2、下拉刷新 + */ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0060', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0060 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0060") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0060 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0050 +* @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0050 +* @tc.desc 1、创建refresh,设置自定义文本为字符串类型的特殊字符 + 2、下拉刷新 +*/ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0050', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0050 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0050") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0050 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0120 +* @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0120 +* @tc.desc 1、创建refresh,设置自定义文本为字符串类型的超长文本 + 2、下拉刷新 +*/ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0120', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0120 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0120") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0120 finish.`); + done() + }) + /* +* @tc.number SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0040 +* @tc.name SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0040 +* @tc.desc 1、创建refresh,设置自定义文本为字符串类型的超长文本 + 2、下拉刷新 +*/ + it('SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0040', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0040 start.`); + Settings.createWindow("testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0040") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let refreshListItem0 :Component = await driver.findComponent(ON.id('0')) + await Utils.sleep(200) + let pos = await refreshListItem0.getBoundsCenter() + await Utils.sleep(100) + await driver.swipe(pos.x,pos.y,pos.x,pos.y+200) + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_OTHER_REFRESH_PROMPTTEXT_0040 finish.`); + done() + }) + + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTabTabBarSymbolTest/UIComponentTabTabBarSymbol.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTabTabBarSymbolTest/UIComponentTabTabBarSymbol.test.ets new file mode 100644 index 00000000..17371bd3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTabTabBarSymbolTest/UIComponentTabTabBarSymbol.test.ets @@ -0,0 +1,417 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentTabTabBarSymbol() { + + describe('UIComponentTabTabBarSymbol', () => { + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0040 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0040 + * @tc.desc 1、创建tabs,使用BottomTabBarStyle样式 + * 2、icon使用TabBarSymbol引入其他资源;selected态传系统Symbol资源 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0040', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0040 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0040") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('Blue')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + let button2:Component = await driver.findComponent(ON.id('Pink')); + await Utils.sleep(1000) + await button2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0090 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0090 + * @tc.desc 1、创建tabs,BottomTabBarStyle,icon使用TabBarSymbol + * 2、normal态SymbolGlphlIodifier设置fontSize设置大于vidth和height的值 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0090', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0090 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0090") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0120 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0120 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSyabol + * 2、normal态SymbolGlphlIodifier设置null + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0120', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0120 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0120") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0120 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0110 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0110 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSyabol + * 2、normal态SymbolGlphlIodifier设置undefined + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0110', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0110 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0110") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0110 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0070 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0070 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSyabol + * 2、normal态SymbolGlphlIodifier渲染策略为MULTIPLE_COLOR,设置4个fontcolor属性 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0070', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0070 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0070") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0080 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0080 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSyabol + * 2、normal态SymbolGlphlIodifier渲染策略为OPACITY,设置4个fontcolor属性 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0080', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0080 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0080") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0060 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0060 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSyabol + * 2、normal态SymbolGlphlIodifier渲染策略为单色,设置4个fontcolor属性 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0060', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0060 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0060") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0140 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0140 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSymbol + * 2、normal态SymbolGlphlIodifier设置可以动态切换入参 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0140', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0140 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0140") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentTabTabBarSymbol0140_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0140 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0130 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0130 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSymbol + * 2、nornal态SymbolGlyphModifier设置可以动态切换入 +参 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0130', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0130 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0130") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentTabTabBarSymbol0130_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0130 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0260 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0260 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSymbol + * 2、nornal态SymbolGlyphModifier设置可以动态切换入参 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0260', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0260 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0260") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentTabTabBarSymbol0260_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0260 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0190 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0190 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSymbol + * 2、nornal态SymbolGlyphModifier设置可以动态切换入参 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0190', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0190 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0190") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(1000) + let button1:Component = await driver.findComponent(ON.id('UIComponentTabTabBarSymbol0190_001')); + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + await button1.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0190 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0180 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0180 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSymbol + * 2、selected态SymbolGlphlIodifier不设置 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0180', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0180 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0180") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0180 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0160 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0160 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSymbol + * 2、selected态SymbolGlphlIodifier设置null + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0160', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0160 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0160") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0160 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0170 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0170 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSymbol + * 2、selected态SymbolGlphlIodifier设置undefined + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0170', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0170 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0170") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0170 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0030 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0030 + * @tc.desc 1、创建tabs,使用BottomTabBarStyle样式 + 2、icon使用TabBarSymbol引入其他资源 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0030', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0030 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0020 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0020 + * @tc.desc 1、创建tabs,使用BottomTabBarStyle样式 + * 2、icon使用TabBarSymbol引入系统media资源 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0020', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0020 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0020") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0010 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0010 + * @tc.desc 1、创建tabs,使用BottomTabBarStyle样式 + * 2、icon使用TabBarSymbol引入系统symbol资源 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0010', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0010 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0230 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0230 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSymbol + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0230', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0230 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0230") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0230 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0150 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0150 + * @tc.desc 1、创建tabs,BottonTabBarStyle,icon使用TabBarSynbol + * 2、normal态SymbolGlphIodifier引入系统symbol资源 + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0150', 0, async (done: Function) => { + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0150 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0150") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.error('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0150 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0050 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0050 + * @tc.desc TabBarSynbol.normal & selected + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0050 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0050") + await Utils.sleep(2000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentTabTabbarTabbarsymbol0050_001')) + await button.click() + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0050 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0240 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0240 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0240 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0050") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0240 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0250 + * @tc.name SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0250 + * @tc.desc nav width + */ + it('SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0250 start.`); + Settings.createWindow("testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0250") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TAB_TABBAR_TABBARSYMBOL_0250 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabScrollable/ArkUITabScrollable001.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabScrollable/ArkUITabScrollable001.ets new file mode 100644 index 00000000..ce563b90 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabScrollable/ArkUITabScrollable001.ets @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabScrollable001 { + @State scrollable: boolean = true; + build() { + Column({ space: 5 }) { + + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Yellow')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Green')) + } + .vertical(false).scrollable(this.scrollable).barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .id('ArkUITabScrollable001_001') + .width('100%') + .backgroundColor(0xF1F3F5); + + Button('设置').width('50%').margin({ top: 20 }) + .onClick(() => { + this.scrollable = !this.scrollable; + }).id('ArkUITabScrollable001_002'); + + }.width('100%').height(400) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabScrollable/ArkUITabScrollable002.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabScrollable/ArkUITabScrollable002.ets new file mode 100644 index 00000000..227af26c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabScrollable/ArkUITabScrollable002.ets @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabScrollable0012 { + @State scrollable: boolean = true; + build() { + Column({ space: 5 }) { + + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Yellow')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Green')) + } + .vertical(false).scrollable(this.scrollable).barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .id('ArkUITabScrollable002_001') + .width('100%') + .backgroundColor(0xF1F3F5); + + Button('设置').width('50%').margin({ top: 20 }) + .onClick(() => { + this.scrollable = !this.scrollable; + }).id('ArkUITabScrollable002_002'); + + }.width('100%').height(400) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor001.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor001.ets new file mode 100644 index 00000000..bb8627a2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor001.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleSelectedColor001 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: Color.Black }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ selectedColor: Color.Black }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor004.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor004.ets new file mode 100644 index 00000000..33230a59 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor004.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleSelectedColor004 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: Color.Gray }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ selectedColor: Color.Gray }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor008.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor008.ets new file mode 100644 index 00000000..b7e659d3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor008.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleSelectedColor008 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: Color.Red }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ selectedColor: Color.Red }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor013.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor013.ets new file mode 100644 index 00000000..81885689 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor013.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleSelectedColor013 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: 0xa52a2a }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ selectedColor: 0xa52a2a }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor014.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor014.ets new file mode 100644 index 00000000..526dc72c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor014.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleSelectedColor014 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: 0x808080 }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ selectedColor: 0x808080 }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor022.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor022.ets new file mode 100644 index 00000000..8bdbf643 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor022.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleSelectedColor022 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: "#ff000000" }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ selectedColor: "#ff000000" }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor024.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor024.ets new file mode 100644 index 00000000..d53645f8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor024.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleSelectedColor024 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: "rgba(255,100,255,0.5)" }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ selectedColor: "rgba(255,100,255,0.5)" }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor025.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor025.ets new file mode 100644 index 00000000..2e01b109 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor025.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleSelectedColor025 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: $r("sys.color.titlebar_title_tertiary_color") }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ selectedColor: $r("sys.color.titlebar_title_tertiary_color") }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor026.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor026.ets new file mode 100644 index 00000000..245d756f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor026.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleSelectedColor026 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: $r("sys.color.toast_outer_border_color") }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ selectedColor: $r("sys.color.toast_outer_border_color") }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor027.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor027.ets new file mode 100644 index 00000000..25d18afa --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor027.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleSelectedColor027 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: 0xFFFFFFFFFFFFFFFF }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ selectedColor: 0xFFFFFFFFFFFFFFFF }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor028.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor028.ets new file mode 100644 index 00000000..35ba4cc2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor028.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleSelectedColor028 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: undefined }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ selectedColor: undefined }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor029.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor029.ets new file mode 100644 index 00000000..894d8261 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor029.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleSelectedColor029 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: null }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ selectedColor: null }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor002.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor002.ets new file mode 100644 index 00000000..2a4d2db0 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor002.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleUnselectedColor002 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ unselectedColor: Color.Brown }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ unselectedColor: Color.Brown }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor005.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor005.ets new file mode 100644 index 00000000..308ecaac --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor005.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleUnselectedColor005 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ unselectedColor: Color.Orange }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ unselectedColor: Color.Orange }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor014.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor014.ets new file mode 100644 index 00000000..4ecbc71e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor014.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleUnselectedColor014 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ unselectedColor: 0x008000 }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ unselectedColor: 0x008000 }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor016.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor016.ets new file mode 100644 index 00000000..65a40b98 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor016.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleUnselectedColor016 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ unselectedColor: 0xffc0cb }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ unselectedColor: 0xffc0cb }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor021.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor021.ets new file mode 100644 index 00000000..2284a438 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor021.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleUnselectedColor021 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ unselectedColor: "#ff000000" }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ unselectedColor: "#ff000000" }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor022.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor022.ets new file mode 100644 index 00000000..f988abd0 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor022.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleUnselectedColor022 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ unselectedColor: "rgb(255,100,255)" }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ unselectedColor: "rgb(255,100,255)" }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor024.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor024.ets new file mode 100644 index 00000000..cd5e60d0 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor024.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleUnselectedColor024 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ unselectedColor: $r("sys.color.toast_outer_border_color") }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ unselectedColor: $r("sys.color.toast_outer_border_color") }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor026.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor026.ets new file mode 100644 index 00000000..5f3c4e3e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor026.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleUnselectedColor026 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ unselectedColor: 0xFFFFFFFFFFFFFFFF }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ unselectedColor: 0xFFFFFFFFFFFFFFFF }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor027.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor027.ets new file mode 100644 index 00000000..a334b5c5 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor027.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleUnselectedColor027 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ unselectedColor: undefined }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ unselectedColor: undefined }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor028.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor028.ets new file mode 100644 index 00000000..9fd1583c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor028.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleUnselectedColor028 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ unselectedColor: null }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ unselectedColor: null }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor029.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor029.ets new file mode 100644 index 00000000..c147e8ad --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor029.ets @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsIconStyleUnselectedColor029 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ unselectedColor: Color.Black }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .iconStyle({ unselectedColor: Color.Black }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor001.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor001.ets new file mode 100644 index 00000000..1613875c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor001.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleSelectedColor001 { + @State labelSelectedColor: number = Color.Black; + build() { + Column({ space: 5 }) { + Button('selectedColor设置').width('50%') + .onClick(() => { + if(this.labelSelectedColor == Color.Black) { + this.labelSelectedColor = Color.Green; + } + else + { + this.labelSelectedColor = Color.Black; + } + }).id('ArkUITabsLabelStyleSelectedColor001_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor003.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor003.ets new file mode 100644 index 00000000..3ef507ac --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor003.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleSelectedColor003 { + @State labelSelectedColor: number = Color.Brown; + build() { + Column({ space: 5 }) { + Button('selectedColor设置').width('50%') + .onClick(() => { + if(this.labelSelectedColor == Color.Brown) { + this.labelSelectedColor = Color.Green; + } + else + { + this.labelSelectedColor = Color.Brown; + } + }).id('ArkUITabsLabelStyleSelectedColor003_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor005.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor005.ets new file mode 100644 index 00000000..9b749e4d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor005.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleSelectedColor005 { + @State labelSelectedColor: number = Color.Green; + build() { + Column({ space: 5 }) { + Button('selectedColor设置').width('50%') + .onClick(() => { + if(this.labelSelectedColor == Color.Green) { + this.labelSelectedColor = Color.Yellow; + } + else + { + this.labelSelectedColor = Color.Green; + } + }).id('ArkUITabsLabelStyleSelectedColor005_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor007.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor007.ets new file mode 100644 index 00000000..14e22b1c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor007.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleSelectedColor007 { + @State labelSelectedColor: number = Color.Pink; + build() { + Column({ space: 5 }) { + Button('selectedColor设置').width('50%') + .onClick(() => { + if(this.labelSelectedColor == Color.Pink) { + this.labelSelectedColor = Color.Yellow; + } + else + { + this.labelSelectedColor = Color.Pink; + } + }).id('ArkUITabsLabelStyleSelectedColor007_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor009.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor009.ets new file mode 100644 index 00000000..6739639b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor009.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleSelectedColor009 { + @State labelSelectedColor: number = Color.White; + build() { + Column({ space: 5 }) { + Button('selectedColor设置').width('50%') + .onClick(() => { + if(this.labelSelectedColor == Color.White) { + this.labelSelectedColor = Color.Yellow; + } + else + { + this.labelSelectedColor = Color.White; + } + }).id('ArkUITabsLabelStyleSelectedColor009_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor011.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor011.ets new file mode 100644 index 00000000..54e8c134 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor011.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleSelectedColor011 { + @State labelSelectedColor: number = Color.Transparent; + build() { + Column({ space: 5 }) { + Button('selectedColor设置').width('50%') + .onClick(() => { + if(this.labelSelectedColor == Color.Transparent) { + this.labelSelectedColor = Color.Yellow; + } + else + { + this.labelSelectedColor = Color.Transparent; + } + }).id('ArkUITabsLabelStyleSelectedColor011_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor012.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor012.ets new file mode 100644 index 00000000..e39e813c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor012.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleSelectedcolor012 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State selectedColor: ResourceColor = 0x000000; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('selectedColor') + .id('ArkUITabsLabelstyleSelectedcolor012_001') + .onClick(() => { + this.selectedColor = 0xffffff; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ selectedColor: this.selectedColor }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor013.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor013.ets new file mode 100644 index 00000000..929d7fee --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor013.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleSelectedColor013 { + @State labelSelectedColor: number = 0x00FF00; + build() { + Column({ space: 5 }) { + Button('selectedColor设置').width('50%') + .onClick(() => { + if(this.labelSelectedColor == 0x00FF00) { + this.labelSelectedColor = 0xa52a2a; + } + else + { + this.labelSelectedColor = 0x00FF00; + } + }).id('ArkUITabsLabelStyleSelectedColor013_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor015.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor015.ets new file mode 100644 index 00000000..5acdd9e4 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor015.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleSelectedcolor015 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State selectedColor: ResourceColor = 0x008000; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('selectedColor') + .id('ArkUITabsLabelstyleSelectedcolor015_001') + .onClick(() => { + this.selectedColor = Color.Black; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ selectedColor: this.selectedColor }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor017.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor017.ets new file mode 100644 index 00000000..3abc8916 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor017.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleSelectedColor017 { + @State labelSelectedColor: number = 0x00FF00; + build() { + Column({ space: 5 }) { + Button('selectedColor设置').width('50%') + .onClick(() => { + if(this.labelSelectedColor == 0x00FF00) { + this.labelSelectedColor = 0xffc0cb; + } + else + { + this.labelSelectedColor = 0x00FF00; + } + }).id('ArkUITabsLabelStyleSelectedColor017_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor019.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor019.ets new file mode 100644 index 00000000..48f91e08 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor019.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleSelectedColor019 { + @State labelSelectedColor: number = 0x00FF00; + build() { + Column({ space: 5 }) { + Button('selectedColor设置').width('50%') + .onClick(() => { + if(this.labelSelectedColor == 0x00FF00) { + this.labelSelectedColor = 0xffffff; + } + else + { + this.labelSelectedColor = 0x00FF00; + } + }).id('ArkUITabsLabelStyleSelectedColor019_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor021.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor021.ets new file mode 100644 index 00000000..e627174e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor021.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleSelectedcolor021 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State selectedColor: ResourceColor = '#ffffff'; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('selectedColor') + .id('ArkUITabsLabelstyleSelectedcolor021_001') + .onClick(() => { + this.selectedColor = Color.Black; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ selectedColor: this.selectedColor }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor023.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor023.ets new file mode 100644 index 00000000..eb707990 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor023.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleSelectedcolor023 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State selectedColor: ResourceColor = "rgb(255,100,255)"; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('selectedColor') + .id('ArkUITabsLabelstyleSelectedcolor023_001') + .onClick(() => { + this.selectedColor = Color.Black; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ selectedColor: this.selectedColor }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor024.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor024.ets new file mode 100644 index 00000000..39b34241 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor024.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleSelectedcolor024 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State selectedColor: ResourceColor = "rgba(255,100,255,0.5)"; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('selectedColor') + .id('ArkUITabsLabelstyleSelectedcolor024_001') + .onClick(() => { + this.selectedColor = Color.Black; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ selectedColor: this.selectedColor }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor025.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor025.ets new file mode 100644 index 00000000..7fb514c0 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor025.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleSelectedcolor025 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State selectedColor: ResourceColor = '#ff0000ff'; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('selectedColor') + .id('ArkUITabsLabelstyleSelectedcolor025_001') + .onClick(() => { + this.selectedColor = Color.Black; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ selectedColor: this.selectedColor }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor026.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor026.ets new file mode 100644 index 00000000..f73061a7 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor026.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleSelectedcolor026 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State selectedColor: ResourceColor = $r('sys.color.titlebar_title_tertiary_color'); + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('selectedColor') + .id('ArkUITabsLabelstyleSelectedcolor026_001') + .onClick(() => { + this.selectedColor = Color.Black; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ selectedColor: this.selectedColor }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor027.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor027.ets new file mode 100644 index 00000000..38310e87 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor027.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleSelectedColor027 { + @State labelSelectedColor: number = 0x0000FF; + build() { + Column({ space: 5 }) { + Button('selectedColor设置').width('50%') + .onClick(() => { + if(this.labelSelectedColor == 0x0000FF) { + this.labelSelectedColor = 0xFFFFFFFFFFFFFFFF; + } + else + { + this.labelSelectedColor = 0x0000FF; + } + }).id('ArkUITabsLabelStyleSelectedColor027_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor028.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor028.ets new file mode 100644 index 00000000..34b2ea5d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor028.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleSelectedcolor028 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State selectedColor: ResourceColor | undefined = undefined; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('selectedColor') + .id('ArkUITabsLabelstyleSelectedcolor028_001') + .onClick(() => { + this.selectedColor = 0xfffffffffffffff; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ selectedColor: this.selectedColor }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor029.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor029.ets new file mode 100644 index 00000000..156a1898 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor029.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleSelectedColor029 { + @State labelSelectedColor: string = '#00FF00'; + build() { + Column({ space: 5 }) { + Button('selectedColor设置').width('50%') + .onClick(() => { + if(this.labelSelectedColor == '#00FF00') { + this.labelSelectedColor = 'null'; + } + else + { + this.labelSelectedColor = '#00FF00'; + } + }).id('ArkUITabsLabelStyleSelectedColor029_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: this.labelSelectedColor })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor001.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor001.ets new file mode 100644 index 00000000..65ea22a6 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor001.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleUnselectedColor001 { + @State labelUnselectedColor: number = Color.Blue; + build() { + Column({ space: 5 }) { + Button('unselectedColor设置').width('50%') + .onClick(() => { + if(this.labelUnselectedColor == Color.Blue) { + this.labelUnselectedColor = Color.Red; + } + else + { + this.labelUnselectedColor = Color.Blue; + } + }).id('ArkUITabsLabelStyleUnselectedColor001_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Yellow })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Yellow })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Yellow })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Yellow })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor005.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor005.ets new file mode 100644 index 00000000..08697135 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor005.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleUnselectedColor005 { + @State labelUnselectedColor: number = Color.Orange; + build() { + Column({ space: 5 }) { + Button('unselectedColor设置').width('50%') + .onClick(() => { + if(this.labelUnselectedColor == Color.Orange) { + this.labelUnselectedColor = Color.Red; + } + else + { + this.labelUnselectedColor = Color.Orange; + } + }).id('ArkUITabsLabelStyleUnselectedColor005_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Yellow })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Yellow })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Yellow })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Yellow })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor008.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor008.ets new file mode 100644 index 00000000..190e975d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor008.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleUnselectedColor008 { + @State labelUnselectedColor: number = Color.White; + build() { + Column({ space: 5 }) { + Button('unselectedColor设置').width('50%') + .onClick(() => { + if(this.labelUnselectedColor == Color.White) { + this.labelUnselectedColor = Color.Red; + } + else + { + this.labelUnselectedColor = Color.White; + } + }).id('ArkUITabsLabelStyleUnselectedColor008_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Yellow })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Yellow })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Yellow })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Yellow })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor011.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor011.ets new file mode 100644 index 00000000..030351ca --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor011.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleUnselectedColor011 { + @State labelUnselectedColor: number = 0x000000; + build() { + Column({ space: 5 }) { + Button('unselectedColor设置').width('50%') + .onClick(() => { + if(this.labelUnselectedColor == 0x000000) { + this.labelUnselectedColor = 0xFF0000; + } + else + { + this.labelUnselectedColor = 0x000000; + } + }).id('ArkUITabsLabelStyleUnselectedColor011_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor012.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor012.ets new file mode 100644 index 00000000..f7616de7 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor012.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleUnselectedColor012 { + @State labelUnselectedColor: number = 0xa52a2a; + build() { + Column({ space: 5 }) { + Button('unselectedColor设置').width('50%') + .onClick(() => { + if(this.labelUnselectedColor == 0xa52a2a) { + this.labelUnselectedColor = 0xFF0000; + } + else + { + this.labelUnselectedColor = 0xa52a2a; + } + }).id('ArkUITabsLabelStyleUnselectedColor012_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor017.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor017.ets new file mode 100644 index 00000000..fae35e54 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor017.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleUnselectedColor017 { + @State labelUnselectedColor: number = 0xFF0000; + build() { + Column({ space: 5 }) { + Button('unselectedColor设置').width('50%') + .onClick(() => { + if(this.labelUnselectedColor == 0xFF0000) { + this.labelUnselectedColor = 0x00FF00; + } + else + { + this.labelUnselectedColor = 0xFF0000; + } + }).id('ArkUITabsLabelStyleUnselectedColor017_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor021.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor021.ets new file mode 100644 index 00000000..846a0790 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor021.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleUnselectedColor021 { + @State labelUnselectedColor: string = '#ff000000'; + build() { + Column({ space: 5 }) { + Button('unselectedColor设置').width('50%') + .onClick(() => { + if(this.labelUnselectedColor == '#ff000000') { + this.labelUnselectedColor = '#FF0000'; + } + else + { + this.labelUnselectedColor = '#ff000000'; + } + }).id('ArkUITabsLabelStyleUnselectedColor021_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor022.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor022.ets new file mode 100644 index 00000000..356eb5b3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor022.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleUnselectedColor022 { + @State labelUnselectedColor: string = 'rgb(255,100,255)'; + build() { + Column({ space: 5 }) { + Button('unselectedColor设置').width('50%') + .onClick(() => { + if(this.labelUnselectedColor == 'rgb(255,100,255)') { + this.labelUnselectedColor = 'rgb(255,0,0)'; + } + else + { + this.labelUnselectedColor = 'rgb(255,100,255)'; + } + }).id('ArkUITabsLabelStyleUnselectedColor022_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor024.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor024.ets new file mode 100644 index 00000000..964205e6 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor024.ets @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleUnselectedcolor024 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State unselectedColor: ResourceColor = "#ff0000ff"; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('unselectedColor') + .id('ArkUITabsLabelstyleUnselectedcolor024_001') + .onClick(() => { + this.unselectedColor = Color.Red; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ unselectedColor: this.unselectedColor }) + ) + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Blue) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Blue') + .labelStyle({ unselectedColor: this.unselectedColor }) + ) + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor025.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor025.ets new file mode 100644 index 00000000..97751185 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor025.ets @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleUnselectedColor025 { + @State resourceColorPink: Resource = $r('app.color.Pink'); + @State resourceColorRed: Resource = $r('app.color.colorRed'); + @State labelUnselectedColor: Resource = $r('app.color.Pink'); + build() { + Column({ space: 5 }) { + Button('unselectedColor设置').width('50%') + .onClick(() => { + if(this.labelUnselectedColor == this.resourceColorPink) { + console.info("this.labelUnselectedColor is pink") + this.labelUnselectedColor = this.resourceColorRed; + } + else + { + console.info("this.labelUnselectedColor is red") + this.labelUnselectedColor = this.resourceColorPink; + } + }).id('ArkUITabsLabelStyleUnselectedColor025_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor026.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor026.ets new file mode 100644 index 00000000..fd5eaa7e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor026.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleUnselectedColor026 { + @State labelUnselectedColor: number = 0xFFFFFFFFFFFFFFFF; + build() { + Column({ space: 5 }) { + Button('unselectedColor设置').width('50%') + .onClick(() => { + if(this.labelUnselectedColor == 0xFFFFFFFFFFFFFFFF) { + this.labelUnselectedColor = 0xFF0000; + } + else + { + this.labelUnselectedColor = 0xFFFFFFFFFFFFFFFF; + } + }).id('ArkUITabsLabelStyleUnselectedColor026_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor027.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor027.ets new file mode 100644 index 00000000..11efb2e4 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor027.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleUnselectedColor027 { + @State labelUnselectedColor: string = 'undefined'; + build() { + Column({ space: 5 }) { + Button('unselectedColor设置').width('50%') + .onClick(() => { + if(this.labelUnselectedColor == 'undefined') { + this.labelUnselectedColor = '#FF0000'; + } + else + { + this.labelUnselectedColor = 'undefined'; + } + }).id('ArkUITabsLabelStyleUnselectedColor027_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor028.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor028.ets new file mode 100644 index 00000000..26deca36 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor028.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStyleUnselectedColor028 { + @State labelUnselectedColor: string = 'null'; + build() { + Column({ space: 5 }) { + Button('unselectedColor设置').width('50%') + .onClick(() => { + if(this.labelUnselectedColor == 'null') { + this.labelUnselectedColor = '#FF0000'; + } + else + { + this.labelUnselectedColor = 'null'; + } + }).id('ArkUITabsLabelStyleUnselectedColor028_001'); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: this.labelUnselectedColor, selectedColor: Color.Blue })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200); + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont001.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont001.ets new file mode 100644 index 00000000..52c7ba63 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont001.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleFont001 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State fontSize: Length = '20px'; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('fontSize') + .id('ArkUITabsLabelstyleFont001_001') + .onClick(() => { + this.fontSize = '10px'; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ font: { size: this.fontSize } }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont003.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont003.ets new file mode 100644 index 00000000..099915a8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont003.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleFont003 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State fontSize: Length = '50%'; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('fontSize') + .id('ArkUITabsLabelstyleFont003_001') + .onClick(() => { + this.fontSize = '100%'; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ font: { size: this.fontSize } }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont004.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont004.ets new file mode 100644 index 00000000..a6905b53 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont004.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleFont004 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State fontSize: Length = 10; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('fontSize') + .id('ArkUITabsLabelstyleFont004_001') + .onClick(() => { + this.fontSize = 30; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ font: { size: this.fontSize } }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont005.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont005.ets new file mode 100644 index 00000000..83d3010d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont005.ets @@ -0,0 +1,107 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStylefont005 { + @State message: string = 'Hello World'; + @State labelFontSize: number = 20; + private controller: TabsController = new TabsController() + @State subTabOverflowOpaque: boolean = true; + + build() { + Column() { + Button('fontsize设置').width('50%') + .onClick(() => { + if (this.labelFontSize == 20) { + this.labelFontSize = 0; + } + else { + this.labelFontSize = 20; + } + }).id('ArkUITabsLabelStylefont005_001'); + + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column() { + Text('tabcontent1').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab1') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { size: this.labelFontSize } + })); + + TabContent() { + Column() { + Text('tabcontent2').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab2') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { size: this.labelFontSize } + })); + + TabContent() { + Column() { + Text('tabcontent3').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab3') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { size: this.labelFontSize } + })); + + TabContent() { + Column() { + Text('tabcontent4').fontSize(30).fontColor(0xFF000000) + } + .width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('tab4') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { size: this.labelFontSize } + })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .barHeight(200) + .barWidth(720) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('100%') + .width('100%'); + + } + .height('100%'); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont006.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont006.ets new file mode 100644 index 00000000..9db3b0af --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont006.ets @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleFont006 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({font: {size: -1}}) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont007.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont007.ets new file mode 100644 index 00000000..a8b2010d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont007.ets @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStylefont007 { + @State message: string = 'Hello World'; + @State labelFontWeight: number = FontWeight.Lighter; + private controller: TabsController = new TabsController() + @State subTabOverflowOpaque: boolean = true; + + build() { + Column() { + + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column() { + Text('tabcontent1').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab1') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent2').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab2') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent3').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab3') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent4').fontSize(30).fontColor(0xFF000000) + } + .width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('tab4') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .barHeight(200) + .barWidth(720) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('100%') + .width('100%'); + } + .height('100%'); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont008.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont008.ets new file mode 100644 index 00000000..3ac31dc7 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont008.ets @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStylefont008 { + @State message: string = 'Hello World'; + @State labelFontWeight: number = FontWeight.Normal; + private controller: TabsController = new TabsController() + @State subTabOverflowOpaque: boolean = true; + + build() { + Column() { + + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column() { + Text('tabcontent1').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab1') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent2').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab2') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent3').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab3') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent4').fontSize(30).fontColor(0xFF000000) + } + .width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('tab4') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .barHeight(200) + .barWidth(720) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('100%') + .width('100%'); + } + .height('100%'); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont009.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont009.ets new file mode 100644 index 00000000..1a2ac75f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont009.ets @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStylefont009 { + @State message: string = 'Hello World'; + @State labelFontWeight: number = FontWeight.Regular; + private controller: TabsController = new TabsController() + @State subTabOverflowOpaque: boolean = true; + + build() { + Column() { + + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column() { + Text('tabcontent1').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab1') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent2').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab2') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent3').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab3') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent4').fontSize(30).fontColor(0xFF000000) + } + .width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('tab4') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .barHeight(200) + .barWidth(720) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('100%') + .width('100%'); + } + .height('100%'); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont010.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont010.ets new file mode 100644 index 00000000..aab1b4a3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont010.ets @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStylefont010 { + @State message: string = 'Hello World'; + @State labelFontWeight: number = FontWeight.Medium; + private controller: TabsController = new TabsController() + @State subTabOverflowOpaque: boolean = true; + + build() { + Column() { + + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column() { + Text('tabcontent1').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab1') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent2').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab2') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent3').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab3') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent4').fontSize(30).fontColor(0xFF000000) + } + .width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('tab4') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .barHeight(200) + .barWidth(720) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('100%') + .width('100%'); + } + .height('100%'); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont011.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont011.ets new file mode 100644 index 00000000..60e17336 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont011.ets @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStylefont011 { + @State message: string = 'Hello World'; + @State labelFontWeight: number = FontWeight.Bold; + private controller: TabsController = new TabsController() + @State subTabOverflowOpaque: boolean = true; + + build() { + Column() { + + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column() { + Text('tabcontent1').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab1') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent2').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab2') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent3').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab3') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent4').fontSize(30).fontColor(0xFF000000) + } + .width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('tab4') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .barHeight(200) + .barWidth(720) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('100%') + .width('100%'); + } + .height('100%'); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont012.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont012.ets new file mode 100644 index 00000000..0cc227db --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont012.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleFont012 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State fontWeight: FontWeight | number | string = FontWeight.Bolder; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('fontSize') + .id('ArkUITabsLabelstyleFont012_001') + .onClick(() => { + this.fontWeight = FontWeight.Lighter; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ font: { weight: this.fontWeight } }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont013.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont013.ets new file mode 100644 index 00000000..895e7769 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont013.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleFont013 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State fontWeight: FontWeight | number | string = 200; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('fontSize') + .id('ArkUITabsLabelstyleFont013_001') + .onClick(() => { + this.fontWeight = 800; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ font: { weight: this.fontWeight } }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont015.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont015.ets new file mode 100644 index 00000000..e06a6ea5 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont015.ets @@ -0,0 +1,107 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStylefont015 { + @State message: string = 'Hello World'; + @State labelFontWeight: number = 900; + private controller: TabsController = new TabsController() + @State subTabOverflowOpaque: boolean = true; + + build() { + Column() { + Button('fontsize设置').width('50%') + .onClick(() => { + if (this.labelFontWeight == 900) { + this.labelFontWeight = 0; + } + else { + this.labelFontWeight = 900; + } + }).id('ArkUITabsLabelStylefont015_001'); + + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column() { + Text('tabcontent1').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab1') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent2').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab2') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent3').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab3') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent4').fontSize(30).fontColor(0xFF000000) + } + .width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('tab4') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .barHeight(200) + .barWidth(720) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('100%') + .width('100%'); + + } + .height('100%'); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont016.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont016.ets new file mode 100644 index 00000000..4a734567 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont016.ets @@ -0,0 +1,107 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStylefont016 { + @State message: string = 'Hello World'; + @State labelFontWeight: number = 900; + private controller: TabsController = new TabsController() + @State subTabOverflowOpaque: boolean = true; + + build() { + Column() { + Button('fontsize设置').width('50%') + .onClick(() => { + if (this.labelFontWeight == 900) { + this.labelFontWeight = -1; + } + else { + this.labelFontWeight = 900; + } + }).id('ArkUITabsLabelStylefont016_001'); + + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column() { + Text('tabcontent1').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab1') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent2').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab2') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent3').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab3') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent4').fontSize(30).fontColor(0xFF000000) + } + .width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('tab4') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .barHeight(200) + .barWidth(720) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('100%') + .width('100%'); + + } + .height('100%'); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont017.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont017.ets new file mode 100644 index 00000000..e6824cd1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont017.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleFont017 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State fontStyle: FontStyle = FontStyle.Normal; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('fontSize') + .id('ArkUITabsLabelstyleFont017_001') + .onClick(() => { + this.fontStyle = FontStyle.Italic; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ font: { style: this.fontStyle } }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont018.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont018.ets new file mode 100644 index 00000000..2b602d44 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont018.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleFont018 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State fontStyle: FontStyle = FontStyle.Italic; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('fontSize') + .id('ArkUITabsLabelstyleFont018_001') + .onClick(() => { + this.fontStyle = FontStyle.Normal; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ font: { style: this.fontStyle } }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont019.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont019.ets new file mode 100644 index 00000000..2b8069b3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont019.ets @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelstyleFont019 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({font: undefined}) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont020.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont020.ets new file mode 100644 index 00000000..1d8da7d2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont020.ets @@ -0,0 +1,106 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsLabelStylefont020 { + @State message: string = 'Hello World'; + @State labelFontWeight: number = 1000; + private controller: TabsController = new TabsController() + @State subTabOverflowOpaque: boolean = true; + + build() { + Column() { + Button('字体改变').width('50%') + .onClick(() => { + if (this.labelFontWeight == 1000) { + this.labelFontWeight = 900; + } + else { + this.labelFontWeight = 1000; + } + }).id('ArkUITabsLabelStylefont020_001'); + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column() { + Text('tabcontent1').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab1') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent2').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab2') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent3').fontSize(30).fontColor(0xFF000000) + }.width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('tab3') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + + TabContent() { + Column() { + Text('tabcontent4').fontSize(30).fontColor(0xFF000000) + } + .width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('tab4') + .labelStyle({ + overflow: TextOverflow.Ellipsis, + maxLines: 1, + minFontSize: 10, + heightAdaptivePolicy: TextHeightAdaptivePolicy.MAX_LINES_FIRST, + font: { weight: this.labelFontWeight } + })); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .barHeight(200) + .barWidth(720) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('100%') + .width('100%'); + + } + .height('100%'); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor002.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor002.ets new file mode 100644 index 00000000..355101f5 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor002.ets @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsSingleSelectedcolor002 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: Color.White }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor005.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor005.ets new file mode 100644 index 00000000..f3a4758f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor005.ets @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsSingleSelectedcolor005 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: Color.Green }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor008.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor008.ets new file mode 100644 index 00000000..79c717ec --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor008.ets @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsSingleSelectedcolor008 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: 0xffffff }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor011.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor011.ets new file mode 100644 index 00000000..45353e1e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor011.ets @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsSingleSelectedcolor011 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: "rgb(255,100,255)" }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleUnselectedcolor/ArkUITabsSingleUnselectedcolor003.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleUnselectedcolor/ArkUITabsSingleUnselectedcolor003.ets new file mode 100644 index 00000000..a0dcbb66 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsSingleUnselectedcolor/ArkUITabsSingleUnselectedcolor003.ets @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsSingleUnselectedcolor003 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .iconStyle({ selectedColor: Color.Transparent }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsVertical/ArkUITabsVertical001.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsVertical/ArkUITabsVertical001.ets new file mode 100644 index 00000000..094e80c7 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ArkUITabsVertical/ArkUITabsVertical001.ets @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct ArkUITabsVertical001 { + @State vertical: boolean = false; + build() { + Column({ space: 5 }) { + + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Yellow')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Green')) + } + .vertical(this.vertical).scrollable(true).barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + + Button('设置').width('50%').margin({ top: 20 }) + .onClick(() => { + this.vertical = !this.vertical; + }).id('ArkUITabsVertical001_001') + + }.width('100%').height(400) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/FunctionJichuWaterFlow/FunctionJichuWaterFlow001806.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/FunctionJichuWaterFlow/FunctionJichuWaterFlow001806.ets new file mode 100644 index 00000000..72e2fb54 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/FunctionJichuWaterFlow/FunctionJichuWaterFlow001806.ets @@ -0,0 +1,273 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 20; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + Image('res/waterFlowTest(' + this.item % 5 + ').jpg') + .overlay('N' + this.item, { align: Alignment.Top }) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } +} +@Builder function MyGlobalBuilderFunction() +{ + Column({ space: 2 }) { + Text("WaterFlow End...").fontSize(12).height('16') + } +} +@Entry +@Component +struct FunctionJichuWaterFlow001806 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + footer: CustomBuilder = MyGlobalBuilderFunction + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + sectionMargin: Margin = { top: 10, left: 5, bottom: 10, right: 5 } + oneColumnSection: SectionOptions = { + itemsCount: 4, + crossCount: 1, + columnsGap: '5vp', + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 20] + } + } + twoColumnSection: SectionOptions = { + itemsCount: 2, + crossCount: 2, + onGetItemMainSizeByIndex: (index: number) => { + return 20 + } + } + lastSection: SectionOptions = { + itemsCount: 20, + crossCount: 2, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 20] + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 20; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (this.dataCount - count < 20) { + this.lastSection.itemsCount = this.dataCount - count + sectionOptions.push(this.lastSection) + break; + } + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + WaterFlow({ footer: this.footer, scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .columnsGap(10) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutWeight(1) + .id('FunctionJichuWaterFlow001806_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/FunctionJichuWaterFlow/FunctionJichuWaterFlow0350.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/FunctionJichuWaterFlow/FunctionJichuWaterFlow0350.ets new file mode 100644 index 00000000..2d6b4ed4 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/FunctionJichuWaterFlow/FunctionJichuWaterFlow0350.ets @@ -0,0 +1,283 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 100; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + Image('res/waterFlowTest(' + this.item % 5 + ').jpg') + .overlay('N' + this.item, { align: Alignment.Top }) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } +} +@Builder function MyGlobalBuilderFunction() +{ + +} +@Entry +@Component +struct FunctionJichuWaterFlow0350 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + footer: CustomBuilder = MyGlobalBuilderFunction + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + sectionMargin: Margin = { top: 10, left: 5, bottom: 10, right: 5 } + oneColumnSection: SectionOptions = { + itemsCount: 4, + crossCount: 1, + columnsGap: '5vp', + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 100] + } + } + twoColumnSection: SectionOptions = { + itemsCount: 2, + crossCount: 2, + onGetItemMainSizeByIndex: (index: number) => { + return 100 + } + } + lastSection: SectionOptions = { + itemsCount: 20, + crossCount: 2, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 100] + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 100; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (this.dataCount - count < 20) { + this.lastSection.itemsCount = this.dataCount - count + sectionOptions.push(this.lastSection) + break; + } + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + WaterFlow({ footer: this.footer, scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .columnsGap(10) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutWeight(1) + .onScrollIndex((first: number, last: number) => { + // 即将触底时提前增加数据 + if (last + 20 >= this.dataSource.totalCount()) { + for (let i = 0; i < 100; i++) { + this.dataSource.addLastItem() + } + // 更新数据源后同步更新sections,修改最后一个section的FlowItem数量 + const sections: Array = this.sections.values(); + let newSection: SectionOptions = sections[this.sections.length() - 1]; + newSection.itemsCount += 100; + this.sections.update(-1, newSection); + } + }) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0080458.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0080458.ets new file mode 100644 index 00000000..f45455ea --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0080458.ets @@ -0,0 +1,231 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 12; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0080458 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 12; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .width('100%') + .height(this.itemHeightArray[item % 12]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .rowsTemplate("1fr 1fr 1fr") + .columnsGap('abc') + .rowsGap('abc') + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutDirection(FlexDirection.ColumnReverse) + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0080458_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0090321.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0090321.ets new file mode 100644 index 00000000..703225be --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0090321.ets @@ -0,0 +1,231 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 12; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0090321 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 12; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .width('100%') + .height(this.itemHeightArray[item % 12]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .rowsTemplate("1fr 1fr 1fr") + .columnsGap('abc') + .rowsGap('abc') + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutDirection(FlexDirection.Column) + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0090321_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0100678.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0100678.ets new file mode 100644 index 00000000..5a0eb84c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0100678.ets @@ -0,0 +1,231 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 12; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0100678 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 12; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .width('100%') + .height(this.itemHeightArray[item % 12]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .rowsTemplate("1fr 1fr 1fr") + .columnsGap('abc') + .rowsGap('abc') + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutDirection(FlexDirection.RowReverse) + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0100678_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0110972.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0110972.ets new file mode 100644 index 00000000..6f21d355 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0110972.ets @@ -0,0 +1,231 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 12; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0110972 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 12; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .width('100%') + .height(this.itemHeightArray[item % 12]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .rowsTemplate("1fr 1fr 1fr") + .columnsGap('abc') + .rowsGap('abc') + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutDirection(FlexDirection.Row) + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0110972_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0120725.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0120725.ets new file mode 100644 index 00000000..e43a0859 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0120725.ets @@ -0,0 +1,230 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 12; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0120725 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 12; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .width('100%') + .height(this.itemHeightArray[item % 12]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .rowsTemplate("1fr 1fr 1fr") + .columnsGap('abc') + .rowsGap('abc') + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0120725_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0130072.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0130072.ets new file mode 100644 index 00000000..90f9858b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0130072.ets @@ -0,0 +1,240 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 20; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0130072 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 100; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + // 存在对应的jpg文件才会显示图片 + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .onAppear(() => { + // 即将触底时提前增加数据 + if (item + 20 == this.dataSource.totalCount()) { + for (let i = 0; i < 100; i++) { + this.dataSource.addLastItem() + } + } + }) + .width('100%') + .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .columnsGap('') + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0270011_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0140666.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0140666.ets new file mode 100644 index 00000000..dbc72c65 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0140666.ets @@ -0,0 +1,239 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 20; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0140666 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 100; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + // 存在对应的jpg文件才会显示图片 + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .onAppear(() => { + // 即将触底时提前增加数据 + if (item + 20 == this.dataSource.totalCount()) { + for (let i = 0; i < 100; i++) { + this.dataSource.addLastItem() + } + } + }) + .width('100%') + .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .columnsGap(10) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0270011_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0150827.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0150827.ets new file mode 100644 index 00000000..a45ca8ed --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0150827.ets @@ -0,0 +1,230 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0150827 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .width('100%') + .height(this.itemHeightArray[item % 10]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .columnsGap($r('app.string.width_20')) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0150827_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0160890.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0160890.ets new file mode 100644 index 00000000..227b4f39 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0160890.ets @@ -0,0 +1,239 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 20; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0160890 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 100; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + // 存在对应的jpg文件才会显示图片 + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .onAppear(() => { + // 即将触底时提前增加数据 + if (item + 20 == this.dataSource.totalCount()) { + for (let i = 0; i < 100; i++) { + this.dataSource.addLastItem() + } + } + }) + .width('100%') + .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .columnsGap('5vp') + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0270011_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0170444.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0170444.ets new file mode 100644 index 00000000..09f64e02 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0170444.ets @@ -0,0 +1,230 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0170444 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .width('100%') + .height(this.itemHeightArray[item % 10]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .columnsGap('abc') + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0170444_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0270011.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0270011.ets new file mode 100644 index 00000000..2f3589e4 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0270011.ets @@ -0,0 +1,240 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 20; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0270011 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 100; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + // 存在对应的jpg文件才会显示图片 + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .onAppear(() => { + // 即将触底时提前增加数据 + if (item + 20 == this.dataSource.totalCount()) { + for (let i = 0; i < 100; i++) { + this.dataSource.addLastItem() + } + } + }) + .width('100%') + .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .columnsGap(10) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .itemConstraintSize({minWidth:'0%',maxWidth:'50%',minHeight:'0%',maxHeight:'100%'}) + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0270011_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0280056.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0280056.ets new file mode 100644 index 00000000..8f3ae95b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0280056.ets @@ -0,0 +1,230 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0280056 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .width('100%') + .height(this.itemHeightArray[item % 10]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .columnsGap('abc') + .rowsGap('') + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0280056_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0290223.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0290223.ets new file mode 100644 index 00000000..57622af0 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0290223.ets @@ -0,0 +1,230 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0290223 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .width('100%') + .height(this.itemHeightArray[item % 10]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .columnsGap('abc') + .rowsGap(10) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0290223_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0300414.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0300414.ets new file mode 100644 index 00000000..f46d210a --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0300414.ets @@ -0,0 +1,230 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0300414 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .width('100%') + .height(this.itemHeightArray[item % 10]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .columnsGap('abc') + .rowsGap($r('app.string.height_20')) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0300414_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0310330.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0310330.ets new file mode 100644 index 00000000..d5990378 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0310330.ets @@ -0,0 +1,230 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0310330 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .width('100%') + .height(this.itemHeightArray[item % 10]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .columnsGap('abc') + .rowsGap('5vp') + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0310330_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0320534.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0320534.ets new file mode 100644 index 00000000..9d8f77cc --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0320534.ets @@ -0,0 +1,230 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= +@Entry +@Component +struct UIComponentListAndGridWaterFlowAdd0320534 { + @State minSize: number = 80 + @State maxSize: number = 180 + @State fontSize: number = 24 + @State colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + private itemWidthArray: number[] = [] + private itemHeightArray: number[] = [] + + // 计算FlowItem宽/高 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的宽/高数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemWidthArray.push(this.getSize()) + //this.itemHeightArray.push(this.getSize()) + this.itemWidthArray.push(60) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + } + + @Builder + itemFoot() { + Column() { + Text(`Footer`) + .fontSize(10) + .backgroundColor(Color.Red) + .width(50) + .height(50) + .align(Alignment.Center) + .margin({ top: 2 }) + } + } + + build() { + Column({ space: 2 }) { + WaterFlow() { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + Column() { + Text("N" + item).fontSize(12).height('16') + Image($r("app.media.waterFlowTest")) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1) + } + } + .width('100%') + .height(this.itemHeightArray[item % 10]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate("1fr 1fr") + .columnsGap('abc') + .rowsGap('abc') + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .onReachStart(() => { + console.info('waterFlow reach start') + }) + .onScrollStart(() => { + console.info('waterFlow scroll start') + }) + .onScrollStop(() => { + console.info('waterFlow scroll stop') + }) + .onScrollFrameBegin((offset: number, state: ScrollState) => { + console.info('waterFlow scrollFrameBegin offset: ' + offset + ' state: ' + state.toString()) + return { offsetRemain: offset } + }) + .id('UIComponentListAndGridWaterFlowAdd0320534_001'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0370.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0370.ets new file mode 100644 index 00000000..0f41441a --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0370.ets @@ -0,0 +1,287 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + /* Image($r("app.media.waterFlowTest")) + .overlay('N' + this.item, { align: Alignment.Top }) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1)*/ + } +} + +@Entry +@Component +struct UIComponentListAndGridWaterSections0370 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + @State newCrossCount: number = 3 + sectionMargin: Margin = { top: 10, left: 5, bottom: 10, right: 5 } + oneColumnSection: SectionOptions = { + itemsCount: 4, + crossCount: 2, + columnsGap: '5vp', + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 100] + } + } + twoColumnSection: SectionOptions = { + itemsCount: 6, + crossCount: 2, + rowsGap: 5, + onGetItemMainSizeByIndex: (index: number) => { + return 10 + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + Row() { + Button('push') + .height('5%') + .onClick(() => { + let newSection: SectionOptions = { + itemsCount: 6, + crossCount: this.newCrossCount, + columnsGap: 15, + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 10] + } + } + this.dataSource.addItem(this.oneColumnSection.itemsCount) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 1) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 2) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 3) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 5) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 6) + const result: boolean = this.sections.push(newSection) + }) + .id('UIComponentListAndGridWaterSections0370_001'); + Button('改变crossCount') + .height('5%') + .onClick(() => { + this.newCrossCount = this.newCrossCount+1 + }).id('UIComponentListAndGridWaterSections0370_002'); + }.margin({ bottom: 20 }) + + WaterFlow({ scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .columnsGap(10) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutWeight(1) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0380.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0380.ets new file mode 100644 index 00000000..1ecfd41b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0380.ets @@ -0,0 +1,286 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + /* Image($r("app.media.waterFlowTest")) + .overlay('N' + this.item, { align: Alignment.Top }) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1)*/ + } +} + +@Entry +@Component +struct UIComponentListAndGridWaterSections0380 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + @State newColumnsGap: number = 15 + sectionMargin: Margin = { top: 10, left: 5, bottom: 10, right: 5 } + oneColumnSection: SectionOptions = { + itemsCount: 4, + crossCount: 2, + columnsGap: '5vp', + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 100] + } + } + twoColumnSection: SectionOptions = { + itemsCount: 6, + crossCount: 2, + rowsGap: 5, + onGetItemMainSizeByIndex: (index: number) => { + return 10 + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + Row() { + Button('push') + .height('5%') + .onClick(() => { + let newSection: SectionOptions = { + itemsCount: 6, + crossCount: 3, + columnsGap: this.newColumnsGap, + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 10] + } + } + this.dataSource.addItem(this.oneColumnSection.itemsCount) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 1) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 2) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 3) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 5) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 6) + const result: boolean = this.sections.push(newSection) + }) + .id('UIComponentListAndGridWaterSections0380_001'); + Button('改变ColumnsGap') + .height('5%') + .onClick(() => { + this.newColumnsGap = this.newColumnsGap+10 + }).id('UIComponentListAndGridWaterSections0380_002'); + }.margin({ bottom: 20 }) + + WaterFlow({ scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .columnsGap(10) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutWeight(1) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0390.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0390.ets new file mode 100644 index 00000000..5288f7e0 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0390.ets @@ -0,0 +1,286 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + /* Image($r("app.media.waterFlowTest")) + .overlay('N' + this.item, { align: Alignment.Top }) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1)*/ + } +} + +@Entry +@Component +struct UIComponentListAndGridWaterSections0390 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + @State newItemsCount: number = 6 + sectionMargin: Margin = { top: 10, left: 5, bottom: 10, right: 5 } + oneColumnSection: SectionOptions = { + itemsCount: 4, + crossCount: 2, + columnsGap: '5vp', + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 100] + } + } + twoColumnSection: SectionOptions = { + itemsCount: 6, + crossCount: 2, + rowsGap: 5, + onGetItemMainSizeByIndex: (index: number) => { + return 10 + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + Row() { + Button('push') + .height('5%') + .onClick(() => { + let newSection: SectionOptions = { + itemsCount: this.newItemsCount, + crossCount: 3, + columnsGap: 15, + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 10] + } + } + this.dataSource.addItem(this.oneColumnSection.itemsCount) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 1) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 2) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 3) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 5) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 6) + const result: boolean = this.sections.push(newSection) + }) + .id('UIComponentListAndGridWaterSections0390_001'); + Button('改变itemsCount') + .height('5%') + .onClick(() => { + this.newItemsCount = this.newItemsCount+1 + }).id('UIComponentListAndGridWaterSections0390_002'); + }.margin({ bottom: 20 }) + + WaterFlow({ scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .columnsGap(10) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutWeight(1) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0400.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0400.ets new file mode 100644 index 00000000..2a80a15f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0400.ets @@ -0,0 +1,286 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + /* Image($r("app.media.waterFlowTest")) + .overlay('N' + this.item, { align: Alignment.Top }) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1)*/ + } +} + +@Entry +@Component +struct UIComponentListAndGridWaterSections0400 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + @State newRowsGap: number = 10 + sectionMargin: Margin = { top: 10, left: 5, bottom: 10, right: 5 } + oneColumnSection: SectionOptions = { + itemsCount: 4, + crossCount: 2, + columnsGap: '5vp', + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 100] + } + } + twoColumnSection: SectionOptions = { + itemsCount: 6, + crossCount: 2, + rowsGap: 5, + onGetItemMainSizeByIndex: (index: number) => { + return 10 + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + Row() { + Button('push') + .height('5%') + .onClick(() => { + let newSection: SectionOptions = { + itemsCount: 6, + crossCount: 3, + columnsGap: 15, + rowsGap: this.newRowsGap, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 10] + } + } + this.dataSource.addItem(this.oneColumnSection.itemsCount) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 1) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 2) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 3) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 5) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 6) + const result: boolean = this.sections.push(newSection) + }) + .id('UIComponentListAndGridWaterSections0400_001'); + Button('改变rowsGap') + .height('5%') + .onClick(() => { + this.newRowsGap = this.newRowsGap + 10 + }).id('UIComponentListAndGridWaterSections0400_002'); + }.margin({ bottom: 20 }) + + WaterFlow({ scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .columnsGap(10) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutWeight(1) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0410.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0410.ets new file mode 100644 index 00000000..439beee8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0410.ets @@ -0,0 +1,285 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + /* Image($r("app.media.waterFlowTest")) + .overlay('N' + this.item, { align: Alignment.Top }) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1)*/ + } +} + +@Entry +@Component +struct UIComponentListAndGridWaterSections0410 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + sectionMargin: Margin = { top: 10, left: 5, bottom: 10, right: 5 } + oneColumnSection: SectionOptions = { + itemsCount: 4, + crossCount: 2, + columnsGap: '5vp', + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 100] + } + } + twoColumnSection: SectionOptions = { + itemsCount: 6, + crossCount: 2, + rowsGap: 5, + onGetItemMainSizeByIndex: (index: number) => { + return 10 + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + Row() { + Button('push') + .height('5%') + .onClick(() => { + let newSection: SectionOptions = { + itemsCount: 6, + crossCount: 3, + columnsGap: 15, + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 10] + } + } + this.dataSource.addItem(this.oneColumnSection.itemsCount) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 1) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 2) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 3) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 5) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 6) + const result: boolean = this.sections.push(newSection) + }) + .id('UIComponentListAndGridWaterSections0410_001'); + Button('改变Margin') + .height('5%') + .onClick(() => { + this.sectionMargin = { top: 20, left: 10, bottom: 20, right: 10 } + }).id('UIComponentListAndGridWaterSections0410_002'); + }.margin({ bottom: 20 }) + + WaterFlow({ scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .columnsGap(10) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutWeight(1) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0420.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0420.ets new file mode 100644 index 00000000..dccde5cb --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0420.ets @@ -0,0 +1,290 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + /* Image($r("app.media.waterFlowTest")) + .overlay('N' + this.item, { align: Alignment.Top }) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1)*/ + } +} + +@Entry +@Component +struct UIComponentListAndGridWaterSections0420 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + sectionMargin: Margin = { top: 10, left: 5, bottom: 10, right: 5 } + oneColumnSection: SectionOptions = { + itemsCount: 4, + crossCount: 2, + columnsGap: '5vp', + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 100] + } + } + twoColumnSection: SectionOptions = { + itemsCount: 6, + crossCount: 2, + rowsGap: 5, + onGetItemMainSizeByIndex: (index: number) => { + return 10 + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + Row() { + Button('push') + .height('5%') + .onClick(() => { + let newSection: SectionOptions = { + itemsCount: 6, + crossCount: 3, + columnsGap: 15, + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 10] + } + } + this.dataSource.addItem(this.oneColumnSection.itemsCount) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 1) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 2) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 3) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 5) + this.dataSource.addItem(this.oneColumnSection.itemsCount + 6) + for (let i = 10; i < 16; i++) { + this.itemHeightArray.push(this.getSize()) + } + const result: boolean = this.sections.push(newSection) + }) + .id('UIComponentListAndGridWaterSections0420_001'); + Button('改变itemHeigh') + .height('5%') + .onClick(() => { + for (let i = 0; i < 16; i++) { + this.itemHeightArray.push(30) + } + }).id('UIComponentListAndGridWaterSections0420_002'); + }.margin({ bottom: 20 }) + + WaterFlow({ scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .columnsGap(10) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutWeight(1) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0500.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0500.ets new file mode 100644 index 00000000..673aaef1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0500.ets @@ -0,0 +1,254 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + /* Image($r("app.media.waterFlowTest")) + .overlay('N' + this.item, { align: Alignment.Top }) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1)*/ + } +} + +@Entry +@Component +struct UIComponentListAndGridWaterSections0500 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + sectionMargin: Margin = { top: 10, left: 5, bottom: 10, right: 5 } + oneColumnSection: SectionOptions = { + itemsCount: 4, + columnsGap: '5vp', + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 100] + } + } + twoColumnSection: SectionOptions = { + itemsCount: 6, + rowsGap: 5, + onGetItemMainSizeByIndex: (index: number) => { + return 10 + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + + WaterFlow({ scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .columnsGap(10) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutWeight(1) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0510.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0510.ets new file mode 100644 index 00000000..149782f8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0510.ets @@ -0,0 +1,255 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + /* Image($r("app.media.waterFlowTest")) + .overlay('N' + this.item, { align: Alignment.Top }) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1)*/ + } +} + +@Entry +@Component +struct UIComponentListAndGridWaterSections0510 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + sectionMargin: Margin = { top: 10, left: 5, bottom: 10, right: 5 } + oneColumnSection: SectionOptions = { + itemsCount: 4, + crossCount:2, + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 100] + } + } + twoColumnSection: SectionOptions = { + itemsCount: 6, + crossCount:2, + rowsGap: 5, + onGetItemMainSizeByIndex: (index: number) => { + return 10 + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + + WaterFlow({ scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .columnsGap(20) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutWeight(1) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0520.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0520.ets new file mode 100644 index 00000000..30f972ba --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0520.ets @@ -0,0 +1,252 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + /* Image($r("app.media.waterFlowTest")) + .overlay('N' + this.item, { align: Alignment.Top }) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1)*/ + } +} + +@Entry +@Component +struct UIComponentListAndGridWaterSections0520 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + sectionMargin: Margin = { top: 10, left: 5, bottom: 10, right: 5 } + oneColumnSection: SectionOptions = { + itemsCount: 4, + crossCount:2, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 100] + } + } + twoColumnSection: SectionOptions = { + itemsCount: 6, + crossCount:2, + onGetItemMainSizeByIndex: (index: number) => { + return 10 + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + + WaterFlow({ scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .rowsGap(20) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutWeight(1) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0530.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0530.ets new file mode 100644 index 00000000..d18fcd31 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0530.ets @@ -0,0 +1,252 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + /* Image($r("app.media.waterFlowTest")) + .overlay('N' + this.item, { align: Alignment.Top }) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1)*/ + } +} + +@Entry +@Component +struct UIComponentListAndGridWaterSections0530 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + sectionMargin: Margin = { top: 0, left: 0, bottom: 0, right: 0 } + oneColumnSection: SectionOptions = { + itemsCount: 5, + crossCount:2, + onGetItemMainSizeByIndex: (index: number) => { + return 50; + } + } + twoColumnSection: SectionOptions = { + itemsCount: 5, + crossCount:2, + margin:this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return 50; + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + + WaterFlow({ scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .rowsGap(20) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutWeight(1) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0540.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0540.ets new file mode 100644 index 00000000..9d1ac7b3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0540.ets @@ -0,0 +1,260 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} + +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + /* Image($r("app.media.waterFlowTest")) + .overlay('N' + this.item, { align: Alignment.Top }) + .objectFit(ImageFit.Fill) + .width('100%') + .layoutWeight(1)*/ + } +} + +@Entry +@Component +struct UIComponentListAndGridWaterSections0540 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + @State newPadding: number = 0; + sectionMargin: Margin = { top: 0, left: 0, bottom: 0, right: 0 } + oneColumnSection: SectionOptions = { + itemsCount: 5, + crossCount: 2, + onGetItemMainSizeByIndex: (index: number) => { + return 50; + } + } + twoColumnSection: SectionOptions = { + itemsCount: 5, + crossCount: 2, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return 50; + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + Button('改变padding') + .height('5%') + .onClick(() => { + this.newPadding = 20 + }).id('UIComponentListAndGridWaterSections0540_001'); + + WaterFlow({ scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .rowsGap(20) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .padding(this.newPadding) + .layoutWeight(1) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0560.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0560.ets new file mode 100644 index 00000000..988ec7c9 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0560.ets @@ -0,0 +1,269 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// 实现IDataSource接口的对象,用于瀑布流组件加载数据 +export class WaterFlowDataSource implements IDataSource { + private dataArray: number[] = [] + private listeners: DataChangeListener[] = [] + + constructor() { + for (let i = 0; i < 10; i++) { + this.dataArray.push(i) + } + } + + // 获取索引对应的数据 + public getData(index: number): number { + return this.dataArray[index] + } + + // 通知控制器数据重新加载 + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + + // 通知控制器数据增加 + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + + // 通知控制器数据变化 + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + + // 通知控制器数据删除 + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + + // 通知控制器数据位置变化 + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } + + //通知控制器数据批量修改 + notifyDatasetChange(operations: DataOperation[]): void { + this.listeners.forEach(listener => { + listener.onDatasetChange(operations); + }) + } + + // 获取数据总数 + public totalCount(): number { + return this.dataArray.length + } + + // 注册改变数据的控制器 + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + this.listeners.push(listener) + } + } + + // 注销改变数据的控制器 + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener) + if (pos >= 0) { + this.listeners.splice(pos, 1) + } + } + + // 增加数据 + public add1stItem(): void { + this.dataArray.splice(0, 0, this.dataArray.length) + this.notifyDataAdd(0) + } + + // 在数据尾部增加一个元素 + public addLastItem(): void { + this.dataArray.splice(this.dataArray.length, 0, this.dataArray.length) + this.notifyDataAdd(this.dataArray.length - 1) + } + + // 在指定索引位置增加一个元素 + public addItem(index: number): void { + this.dataArray.splice(index, 0, this.dataArray.length) + this.notifyDataAdd(index) + } + + // 删除第一个元素 + public delete1stItem(): void { + this.dataArray.splice(0, 1) + this.notifyDataDelete(0) + } + + // 删除第二个元素 + public delete2ndItem(): void { + this.dataArray.splice(1, 1) + this.notifyDataDelete(1) + } + + // 删除最后一个元素 + public deleteLastItem(): void { + this.dataArray.splice(-1, 1) + this.notifyDataDelete(this.dataArray.length) + } + + // 在指定索引位置删除一个元素 + public deleteItem(index: number): void { + this.dataArray.splice(index, 1) + this.notifyDataDelete(index) + } + + // 重新加载数据 + public reload(): void { + this.dataArray.splice(1, 1) + this.dataArray.splice(3, 2) + this.notifyDataReload() + } +} +//============================================================= + +@Reusable +@Component +struct ReusableFlowItem { + @State item: number = 0 + + // 从复用缓存中加入到组件树之前调用,可在此处更新组件的状态变量以展示正确的内容 + aboutToReuse(params: Record) { + this.item = params.item; + console.info('Reuse item:' + this.item) + } + + aboutToAppear() { + console.info('new item:' + this.item) + } + + build() { + } +} + +@Entry +@Component +struct UIComponentListAndGridWaterSections0560 { + minSize: number = 80 + maxSize: number = 180 + fontSize: number = 24 + colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F] + scroller: Scroller = new Scroller() + dataSource: WaterFlowDataSource = new WaterFlowDataSource() + dataCount: number = this.dataSource.totalCount() + private itemHeightArray: number[] = [] + @State sections: WaterFlowSections = new WaterFlowSections() + sectionMargin: Margin = { top: 10, left: 5, bottom: 10, right: 5 } + oneColumnSection: SectionOptions = { + itemsCount: 4, + crossCount: 1, + columnsGap: '5vp', + rowsGap: 10, + margin: this.sectionMargin, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 10] + } + } + twoColumnSection: SectionOptions = { + itemsCount: 6, + crossCount: 2, + onGetItemMainSizeByIndex: (index: number) => { + return 100 + } + } + + // 计算FlowItem高度 + getSize() { + let ret = Math.floor(Math.random() * this.maxSize) + return (ret > this.minSize ? ret : this.minSize) + } + + // 设置FlowItem的高度数组 + setItemSizeArray() { + for (let i = 0; i < 10; i++) { + //this.itemHeightArray.push(this.getSize()) + this.itemHeightArray.push(100) + } + } + + aboutToAppear() { + this.setItemSizeArray() + // 初始化瀑布流分组信息 + let sectionOptions: SectionOptions[] = [] + let count = 0 + let oneOrTwo = 0 + while (count < this.dataCount) { + if (oneOrTwo++ % 2 == 0) { + sectionOptions.push(this.oneColumnSection) + count += this.oneColumnSection.itemsCount + } else { + sectionOptions.push(this.twoColumnSection) + count += this.twoColumnSection.itemsCount + } + } + this.sections.splice(0, 0, sectionOptions) + } + + build() { + Column({ space: 2 }) { + Row() { + Button('splice') + .height('5%') + .onClick(() => { + // 将所有分组替换成一个新分组,注意保证LazyForEach中数据数量和新分组itemsCount保持一致 + let totalCount: number = this.dataSource.totalCount() + let newSection: SectionOptions = { + itemsCount: totalCount, + crossCount: 2, + onGetItemMainSizeByIndex: (index: number) => { + return this.itemHeightArray[index % 10] + } + } + let oldLength: number = this.sections.length() + this.sections.splice(0, oldLength, [newSection]) + }) + .id('UIComponentListAndGridWaterSections0560_001') + .margin({ top: 10, left: 20 }) + }.margin({ bottom: 20 }) + + WaterFlow({ scroller: this.scroller, sections: this.sections }) { + LazyForEach(this.dataSource, (item: number) => { + FlowItem() { + ReusableFlowItem({ item: item }) + } + .width('100%') + // 以onGetItemMainSizeByIndex为准 + // .height(this.itemHeightArray[item % 100]) + .backgroundColor(this.colors[item % 5]) + }, (item: string) => item) + } + .columnsTemplate('1fr 1fr') // 瀑布流使用sections参数时该属性无效 + .columnsGap(10) + .rowsGap(5) + .backgroundColor(0xFAEEE0) + .width('100%') + .height('100%') + .layoutWeight(1) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0370.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0370.ets new file mode 100644 index 00000000..430529e9 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0370.ets @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier0370 { + private controller: TabsController = new TabsController(); + @State gridGutter: number = 10; + + build() { + Column() { + Row() { + Button("gridGutter+10 " + this.gridGutter) + .width('47%') + .height(50) + .margin({ top: 5 }) + .onClick((event?: ClickEvent) => { + this.gridGutter += 10; + }).id('UIComponentNavModifier0370_001') + .margin({ right: '6%', bottom: '12vp' }); + Button("gridGutter-10 " + this.gridGutter) + .width('47%') + .height(50) + .margin({ top: 5 }) + .onClick((event?: ClickEvent) => { + this.gridGutter -= 10; + }).id('UIComponentNavModifier0370_002') + .margin({ bottom: '12vp' }); + } + + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(BottomTabBarStyle.of($r("sys.media.ohos_app_icon"), "1")); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(BottomTabBarStyle.of($r("sys.media.ohos_app_icon"), "2")); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(BottomTabBarStyle.of($r("sys.media.ohos_app_icon"), "3")); + } + .width('350vp') + .animationDuration(300) + .height('60%') + .barGridAlign({ sm: 2, margin: 10, gutter: this.gridGutter }) + .backgroundColor(0xf1f3f5); + } + .width('100%') + .height(500) + .margin({ top: 5 }) + .padding('10vp'); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0380.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0380.ets new file mode 100644 index 00000000..78c6dcf1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0380.ets @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UiComponentNavModifier0380 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .barOverlap(true) + .barGridAlign( + { + lg:10 + } + ) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0400.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0400.ets new file mode 100644 index 00000000..9b203df8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0400.ets @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UiComponentNavModifier0400 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .barOverlap(true) + .barGridAlign( + { + sm:10 + } + ) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier041.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier041.ets new file mode 100644 index 00000000..fa5fb410 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier041.ets @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier041 { + private controller1: TabsController = new TabsController() + @State dividerColor: string = 'blue'; + @State strokeWidth: Resource = ($r('app.float.strokewidth_10')); + @State isVisible: boolean = false; + @State startMargin: number = 0; + @State endMargin: number = 0; + @State nullFlag: boolean = false; + + build() { + Column() { + Tabs({ controller: this.controller1 }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar('pink'); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar('yellow'); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar('blue'); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green'); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar('red'); + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .barWidth(70) + .barHeight(200) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('200vp') + .margin({ bottom: '12vp' }) + .divider(this.nullFlag ? null : { + strokeWidth: this.strokeWidth, + color: this.dividerColor, + startMargin: this.startMargin, + endMargin: this.endMargin + }); + + Button('设置').width('50%').margin({ top: 20 }) + .onClick(() => { + this.isVisible = !this.isVisible; + }).id('UIComponentNavModifier041_001') + if (this.isVisible) { + Text($r('app.float.strokewidth_10')).fontSize(30); + } + }.padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier043.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier043.ets new file mode 100644 index 00000000..55ac82a7 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier043.ets @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier043 { + private controller1: TabsController = new TabsController() + @State dividerColor: string = 'blue' + @State strokeWidth: number = -10 + @State strokeWidthDefaultWidth: number = 2 + @State startMargin: number = 0 + @State endMargin: number = 0 + @State nullFlag: boolean = false + aboutToAppear(): void { + console.log(`gzc+${this.strokeWidth}`) + if(this.strokeWidth < 0) + { + this.strokeWidth = this.strokeWidthDefaultWidth + } + } + build() { + Column() { + Tabs({ controller: this.controller1 }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar('pink') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar('yellow') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar('blue') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar('red') + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .barWidth(70) + .barHeight(200) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('200vp') + .margin({ bottom: '12vp' }) + .divider(this.nullFlag ? null : { + strokeWidth: this.strokeWidth, + color: this.dividerColor, + startMargin: this.startMargin, + endMargin: this.endMargin + }) + Button('设置').width('50%').margin({ top: 20 }) + .onClick(()=>{ + if(this.strokeWidth < 0) + { + this.strokeWidth = this.strokeWidthDefaultWidth + } + }).id('UIComponentNavModifier043_001') + + Text(this.strokeWidth + '').fontSize(30) + + }.padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier044.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier044.ets new file mode 100644 index 00000000..fca54e6b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier044.ets @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier044 { + private controller1: TabsController = new TabsController(); + @State dividerColor: string = 'blue'; + @State strokeWidth: string = '50'; + @State startMargin: number = 0; + @State endMargin: number = 0; + @State nullFlag: boolean = false; + @State isVisible: boolean = false; + + build() { + Column() { + Tabs({ controller: this.controller1 }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar('pink'); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar('yellow'); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar('blue'); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green'); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar('red'); + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .barWidth(70) + .barHeight(200) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('200vp') + .margin({ bottom: '12vp' }) + .divider(this.nullFlag ? null : { + strokeWidth: this.strokeWidth, + color: this.dividerColor, + startMargin: this.startMargin, + endMargin: this.endMargin + }); + Button('设置').width('50%').margin({ top: 20 }) + .onClick(()=>{ + this.isVisible = !this.isVisible; + }).id('UIComponentNavModifier044_001'); + + if (this.isVisible) { + Text(this.strokeWidth).fontSize(30); + } + + }.padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier045.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier045.ets new file mode 100644 index 00000000..e939be39 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier045.ets @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier045 { + private controller1: TabsController = new TabsController() + @State dividerColor: string = 'blue' + @State strokeWidth: number = 2 + @State startMargin: number = 0 + @State endMargin: number = 0 + @State nullFlag: boolean = false + + build() { + Column() { + Tabs({ controller: this.controller1 }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar('pink') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar('yellow') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar('blue') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar('red') + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .barWidth(70) + .barHeight(200) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('200vp') + .margin({ bottom: '12vp' }) + .divider(this.nullFlag ? null : { + strokeWidth: this.strokeWidth, + color: this.dividerColor, + startMargin: this.startMargin, + endMargin: this.endMargin + }) + + }.padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier046.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier046.ets new file mode 100644 index 00000000..cc364cab --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier046.ets @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier046 { + private controller1: TabsController = new TabsController() + @State dividerColor: string = '#FF0000' + @State strokeWidth: number = 2 + @State startMargin: number = 0 + @State endMargin: number = 0 + @State nullFlag: boolean = false + + build() { + Column() { + Tabs({ controller: this.controller1 }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar('pink') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar('yellow') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar('blue') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar('red') + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .barWidth(70) + .barHeight(200) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('200vp') + .margin({ bottom: '12vp' }) + .divider(this.nullFlag ? null : { + strokeWidth: this.strokeWidth, + color: this.dividerColor, + startMargin: this.startMargin, + endMargin: this.endMargin + }) + + }.padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier048.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier048.ets new file mode 100644 index 00000000..edfa0002 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier048.ets @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier048 { + private controller1: TabsController = new TabsController() + @State dividerColor: string = '#FFC0CB' + @State strokeWidth: number = 2 + @State startMargin: number = 0 + @State endMargin: number = 0 + @State nullFlag: boolean = false + + build() { + Column() { + Tabs({ controller: this.controller1 }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar('pink') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar('yellow') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar('blue') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar('red') + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .barWidth(70) + .barHeight(200) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('200vp') + .margin({ bottom: '12vp' }) + .divider(this.nullFlag ? null : { + strokeWidth: this.strokeWidth, + color: this.dividerColor, + startMargin: this.startMargin, + endMargin: this.endMargin + }) + + }.padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier053.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier053.ets new file mode 100644 index 00000000..2d75c161 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier053.ets @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier053 { + private controller1: TabsController = new TabsController() + @State dividerColor: string = 'red' + @State strokeWidth: number = 2 + @State startMargin: number = 0 + @State endMargin: number = 0 + @State nullFlag: boolean = false + + build() { + Column() { + Tabs({ controller: this.controller1 }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar('pink') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar('yellow') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar('blue') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar('red') + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .barWidth(70) + .barHeight(200) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('200vp') + .margin({ bottom: '12vp' }) + .divider(this.nullFlag ? null : { + strokeWidth: this.strokeWidth, + color: this.dividerColor, + startMargin: this.startMargin, + endMargin: this.endMargin + }) + + Button('设置startMargin').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.startMargin = -10 + }).id('UIComponentNavModifier053_001') + }.padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier056.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier056.ets new file mode 100644 index 00000000..7e1bdbc9 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier056.ets @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier056 { + private controller1: TabsController = new TabsController() + @State dividerColor: string = 'red' + @State strokeWidth: number = 2 + @State startMargin: number = 0 + @State endMargin: number = 0 + @State tabHeight: number = 200 + @State nullFlag: boolean = false + + build() { + Column() { + Tabs({ controller: this.controller1 }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar('pink') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar('yellow') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar('blue') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar('red') + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .barWidth(70) + .barHeight(200) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height(this.tabHeight) + .margin({ bottom: '12vp' }) + .divider(this.nullFlag ? null : { + strokeWidth: this.strokeWidth, + color: this.dividerColor, + startMargin: this.startMargin, + endMargin: this.endMargin + }) + + Button('设置endMargin').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.endMargin = this.tabHeight * 0.8 + }).id('UIComponentNavModifier056_001') + }.padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier058.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier058.ets new file mode 100644 index 00000000..e881db5f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier058.ets @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier058 { + private controller1: TabsController = new TabsController() + @State dividerColor: string = 'red' + @State strokeWidth: number = 2 + @State startMargin: number = 0 + @State endMargin: number = 0 + @State nullFlag: boolean = false + + build() { + Column() { + Tabs({ controller: this.controller1 }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar('pink') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar('yellow') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar('blue') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar('red') + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .barWidth(70) + .barHeight(200) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('200vp') + .margin({ bottom: '12vp' }) + .divider(this.nullFlag ? null : { + strokeWidth: this.strokeWidth, + color: this.dividerColor, + startMargin: this.startMargin, + endMargin: this.endMargin + }) + + Button('设置endMargin').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.endMargin = -10 + }).id('UIComponentNavModifier058_001') + }.padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier060.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier060.ets new file mode 100644 index 00000000..a738a3ae --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier060.ets @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier060 { + @State message: string = 'Hello World' + private controller: TabsController = new TabsController() + private controller1: TabsController = new TabsController() + @State selfFadingFade: boolean = false; + + build() { + Column() { + Button('子页签设置渐隐').width('100%').margin({ bottom: '12vp' }) + .onClick((event?: ClickEvent) => { + this.selfFadingFade = true; + }) + Button('子页签设置不渐隐').width('100%').margin({ bottom: '12vp' }) + .onClick((event?: ClickEvent) => { + this.selfFadingFade = false; + }) + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar('pink') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar('yellow') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar('blue') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green') + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Scrollable) + .barHeight(80) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .fadingEdge(this.selfFadingFade) + .height('30%') + .width('100%') + + } + .padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier063.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier063.ets new file mode 100644 index 00000000..18a66950 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier063.ets @@ -0,0 +1,117 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier063 { + @State fontColor: string = '#182431' + @State bgColor: number = 0xff0000 + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .barHeight(56) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(190) + .barBackgroundColor(this.bgColor) + .margin({ top: 38 }) + Button('设置背景色').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.bgColor = 0xffffff + }).id('UIComponentNavModifier063_001') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier065.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier065.ets new file mode 100644 index 00000000..5d92d940 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier065.ets @@ -0,0 +1,117 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier065 { + @State fontColor: string = '#182431' + @State bgColor: string = '#ff0000' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .barHeight(56) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(190) + .backgroundColor(this.bgColor) + .margin({ top: 38 }) + Button('设置背景色').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.bgColor = '#ffffff' + }).id('UIComponentNavModifier065_001') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier066.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier066.ets new file mode 100644 index 00000000..ac1406f4 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier066.ets @@ -0,0 +1,117 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier066 { + @State fontColor: string = '#182431' + @State bgColor: Resource = $r('app.color.yellow') + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .barHeight(56) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(190) + .backgroundColor(this.bgColor) + .margin({ top: 38 }) + Button('设置背景色').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.bgColor = $r('app.color.blue') + }).id('UIComponentNavModifier066_001') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0770.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0770.ets new file mode 100644 index 00000000..159e306e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0770.ets @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier0770 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State selectedIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? $r("app.media.magnifier") : $r("app.media.tick")) + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.selectedIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab1') + } + }.tabBar(this.tabBuilder(0)).backgroundColor(Color.Red) + + TabContent() { + Column() { + Text('Tab2') + } + }.tabBar(this.tabBuilder(1)).backgroundColor(Color.Green) + + TabContent() { + Column() { + Text('Tab3') + } + }.tabBar(this.tabBuilder(2)).backgroundColor(Color.Yellow) + + TabContent() { + Column() { + Text('Tab4') + } + }.tabBar(this.tabBuilder(3)).backgroundColor(Color.Green) + } + .vertical(false) + .barHeight(56) + .barWidth(-300) + .width(360) + .height(190) + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0810.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0810.ets new file mode 100644 index 00000000..77c4d706 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0810.ets @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier0810 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State selectedIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? $r("app.media.magnifier") : $r("app.media.tick")) + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.selectedIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab1') + } + }.tabBar(this.tabBuilder(0)).backgroundColor(Color.Red) + + TabContent() { + Column() { + Text('Tab2') + } + }.tabBar(this.tabBuilder(1)).backgroundColor(Color.Green) + + TabContent() { + Column() { + Text('Tab3') + } + }.tabBar(this.tabBuilder(2)).backgroundColor(Color.Yellow) + + TabContent() { + Column() { + Text('Tab4') + } + }.tabBar(this.tabBuilder(3)).backgroundColor(Color.Green) + } + .vertical(false) + .barHeight(250) + .barWidth('100%') + .width(360) + .height(300) + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier083.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier083.ets new file mode 100644 index 00000000..368cfe78 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier083.ets @@ -0,0 +1,123 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier083{ + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State tabBarHeight: number = 0 + @State tabBarHeight2: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? $r("sys.media.ohos_app_icon") : $r("sys.media.ohos_app_icon")) + //.width(24) + //.height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%').onSizeChange((oldValue: SizeOptions, newValue: SizeOptions) => { + this.tabBarHeight = newValue.height as number + }) + } + + build() { + Column({space:10}) { + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .barHeight(56) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(190) + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + Button('设置').width('50%').margin({ top: 20 }) + .onClick(()=>{ + this.tabBarHeight2 = this.tabBarHeight + }).id('UIComponentNavModifier083_001') + + Text('barWidth为'+this.tabBarHeight2 + '').fontSize(30) + }.width('100%') + } +} + diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0840.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0840.ets new file mode 100644 index 00000000..f96cc072 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0840.ets @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier0840 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State selectedIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? $r("app.media.magnifier") : $r("app.media.tick")) + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.selectedIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab1') + } + }.tabBar(this.tabBuilder(0)).backgroundColor(Color.Red) + + TabContent() { + Column() { + Text('Tab2') + } + }.tabBar(this.tabBuilder(1)).backgroundColor(Color.Green) + + TabContent() { + Column() { + Text('Tab3') + } + }.tabBar(this.tabBuilder(2)).backgroundColor(Color.Yellow) + + TabContent() { + Column() { + Text('Tab4') + } + }.tabBar(this.tabBuilder(3)).backgroundColor(Color.Green) + } + .vertical(false) + .barHeight(-100) + .barWidth('100%') + .width(360) + .height(300) + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0860.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0860.ets new file mode 100644 index 00000000..37f47718 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0860.ets @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier0860 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State selectedIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? $r("app.media.magnifier") : $r("app.media.tick")) + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.selectedIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab1') + } + }.tabBar(this.tabBuilder(0)).backgroundColor(Color.Red) + + TabContent() { + Column() { + Text('Tab2') + } + }.tabBar(this.tabBuilder(1)).backgroundColor(Color.Green) + + TabContent() { + Column() { + Text('Tab3') + } + }.tabBar(this.tabBuilder(2)).backgroundColor(Color.Yellow) + + TabContent() { + Column() { + Text('Tab4') + } + }.tabBar(this.tabBuilder(3)).backgroundColor(Color.Green) + } + .vertical(false) + .barHeight(250) + .barWidth('100%') + .width(360) + .height(300) + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0900.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0900.ets new file mode 100644 index 00000000..9304ac5d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0900.ets @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier0900 { + @State fontColor: string = '#182431'; + @State selectedFontColor: string = '#007DFF'; + @State currentIndex: number = 0; + @State selectedIndex: number = 0; + private controller: TabsController = new TabsController(); + + @Builder tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.selectedIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.selectedIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }); + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.selectedIndex === index ? 1 : 0); + }.width('100%').id(name); + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor('#00CB87') + }.tabBar(this.tabBuilder(0, 'green')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor('#007DFF') + }.tabBar(this.tabBuilder(1, 'blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor('#FFBF00') + }.tabBar(this.tabBuilder(2, 'yellow')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor('#E67C92') + }.tabBar(this.tabBuilder(3, 'pink')); + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(56) + .animationDuration(-100) + .onChange((index: number) => { + this.currentIndex = index + this.selectedIndex = index + }) + .width(360) + .height(296) + .margin({ top: 52 }) + .backgroundColor('#F1F3F5'); + }.width('100%'); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0920.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0920.ets new file mode 100644 index 00000000..93ce0e74 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavModifier/UIComponentNavModifier0920.ets @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavModifier0920 { + @State fontColor: string = '#182431'; + @State selectedFontColor: string = '#007DFF'; + @State currentIndex: number = 0; + @State selectedIndex: number = 0; + private controller: TabsController = new TabsController(); + + @Builder tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.selectedIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.selectedIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }); + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.selectedIndex === index ? 1 : 0); + }.width('100%').id(name); + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor('#00CB87') + }.tabBar(this.tabBuilder(0, 'green')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor('#007DFF') + }.tabBar(this.tabBuilder(1, 'blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor('#FFBF00') + }.tabBar(this.tabBuilder(2, 'yellow')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor('#E67C92') + }.tabBar(this.tabBuilder(3, 'pink')); + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(56) + .animationDuration(30/100) + .onChange((index: number) => { + this.currentIndex = index + this.selectedIndex = index + }) + .width(360) + .height(296) + .margin({ top: 52 }) + .backgroundColor('#F1F3F5'); + }.width('100%'); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0011.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0011.ets new file mode 100644 index 00000000..02c3b142 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0011.ets @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsAction0011 { + @State height1: number = 200; + @State width1: number = 200; + build() { + Column({ space: 5 }) { + + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Pink').id('Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Yellow').id('Yellow')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Blue').id('Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Green').id('Green')); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .id('UIComponentNavTabsAction0011_001') + .width(this.width1) + .height(this.height1) + .backgroundColor(0xF1F3F5); + + Button('增加宽高').width('50%').margin({ top: 20 }) + .onClick(() => { + if(this.height1 == 200) + { + this.height1 = 250 + } + else + { + this.height1 = 200 + } + if(this.width1 == 200) + { + this.width1 = 250 + } + else + { + this.width1 = 200 + } + }).id('UIComponentNavTabsAction0011_002'); + }.width('100%').height(200) + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0012.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0012.ets new file mode 100644 index 00000000..25dbe57b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0012.ets @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsAction0012 { + @State simpleList: Array = ['tab0','tab1','tab2','tab3','tab4','tab5','tab6','tab7','tab8','tab9', + 'tab10','tab11','tab12','tab13','tab14','tab15','tab16','tab17','tab18','tab19', + 'tab20','tab21','tab22','tab23','tab24','tab25','tab26','tab27','tab28','tab29', + 'tab30','tab31','tab32','tab33','tab34','tab35','tab36','tab37','tab38','tab39', + 'tab40','tab41','tab42','tab43','tab44','tab45','tab46','tab47','tab48','tab49', + 'tab50','tab51','tab52','tab53','tab54','tab55','tab56','tab57','tab58','tab59', + 'tab60','tab61','tab62','tab63','tab64','tab65','tab66','tab67','tab68','tab69', + 'tab70','tab71','tab72','tab73','tab74','tab75','tab76','tab77','tab78','tab79', + 'tab80','tab81','tab82','tab83','tab84','tab85','tab86','tab87','tab88','tab89', + 'tab90','tab91','tab92','tab93','tab94','tab95','tab96','tab97','tab98','tab99'] + @State currentIndex: number = 0 + @Builder tabBuilder(title: string) { + Column(){ + Text(title) + }.width('100%') + .height(50) + .id(title) + .justifyContent(FlexAlign.Center) + } + + build() { + Row() { + Column() { + Tabs({ barPosition: BarPosition.End, }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`).fontSize(50) + } + }.tabBar(this.tabBuilder(item)) + }, (item: string) => item) + } + .vertical(false) + .id('UIComponentNavTabsAction0012_001') + //.barMode(BarMode.Scrollable) + .barWidth(400) + .barHeight(120) + .animationDuration(0) + .width(400) + .height(400) + .backgroundColor('#FF0000') + .scrollable(true) + + } + .width('100%') + .height('100%') + + } + .height('100%') + .backgroundColor(0xF1F3F5) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0030.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0030.ets new file mode 100644 index 00000000..fb4018de --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0030.ets @@ -0,0 +1,122 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsAction0030 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State selectedIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(index: number) { + Column() { + Text(index == 0 ? 'Pink' : + (index == 1 ? 'Yellow' : + (index == 2 ? 'Green' : 'Blue'))) + .fontColor(this.selectedIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%').id(index == 0 ? 'Pink' : + (index == 1 ? 'Yellow' : + (index == 2 ? 'Green' : 'Blue'))) + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%').backgroundColor(Color.Pink) + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%').backgroundColor(Color.Yellow) + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%').backgroundColor(Color.Green) + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .barHeight(56) + .onChange((index: number) => { + // currentIndex控制TabContent显示页签 + this.currentIndex = index + }) + .onAnimationStart((index: number, targetIndex: number, event: TabsAnimationEvent) => { + if (index === targetIndex) { + return + } + // selectedIndex控制自定义TabBar内Image和Text颜色切换 + this.selectedIndex = targetIndex + }) + .id('UIComponentNavTabsAction0030_001') + .width(360) + .height(190) + .backgroundColor('#F1F3F5') + .margin({ top: 38 }); + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0010.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0010.ets new file mode 100644 index 00000000..6dfef649 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0010.ets @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0010 { + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + @State blurtype: BlurStyle = BlurStyle.COMPONENT_THIN; + @State seq: number = 0; + build() { + Column({ space: 5 }) { + Text("子页签样式") + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + + + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode) + ) + } + .vertical(false) + .scrollable(true) + .barBackgroundBlurStyle(this.blurtype) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + + + Button('设置材质NONE').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0010_001') + + Button('设置材质Thin').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thin + }).id('UIComponentNavTabsBlurStyle0010_002') + + Button('设置材质Regular').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Regular + }).id('UIComponentNavTabsBlurStyle0010_003') + + Button('设置材质Thick').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thick + }).id('UIComponentNavTabsBlurStyle0010_004') + + Button('设置材质BACKGROUND_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THIN + }).id('UIComponentNavTabsBlurStyle0010_005') + + Button('设置材质BACKGROUND_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_REGULAR + }).id('UIComponentNavTabsBlurStyle0010_006') + + Button('设置材质BACKGROUND_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THICK + }).id('UIComponentNavTabsBlurStyle0010_007') + + Button('设置材质BACKGROUND_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0010_008') + + Button('设置材质COMPONENT_ULTRA_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THIN + }).id('UIComponentNavTabsBlurStyle0010_009') + + Button('设置材质COMPONENT_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_REGULAR + }).id('UIComponentNavTabsBlurStyle0010_010') + + Button('设置材质COMPONENT_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THICK + }).id('UIComponentNavTabsBlurStyle0010_011') + + Button('设置材质COMPONENT_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0010_012') + + Button('设置材质COMPONENT_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THIN + }).id('UIComponentNavTabsBlurStyle0010_013') + + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0011.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0011.ets new file mode 100644 index 00000000..cfe17f97 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0011.ets @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0011 { + @State selectedMode: SelectedMode = SelectedMode.BOARD; + @State blurtype: BlurStyle = BlurStyle.COMPONENT_THIN; + @State seq: number = 0; + build() { + Column({ space: 5 }) { + Text("子页签样式") + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + + + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode) + ) + } + .vertical(false) + .scrollable(true) + .barBackgroundBlurStyle(this.blurtype) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + + + Button('设置材质NONE').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0011_001') + + Button('设置材质Thin').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thin + }).id('UIComponentNavTabsBlurStyle0011_002') + + Button('设置材质Regular').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Regular + }).id('UIComponentNavTabsBlurStyle0011_003') + + Button('设置材质Thick').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thick + }).id('UIComponentNavTabsBlurStyle0011_004') + + Button('设置材质BACKGROUND_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THIN + }).id('UIComponentNavTabsBlurStyle0011_005') + + Button('设置材质BACKGROUND_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_REGULAR + }).id('UIComponentNavTabsBlurStyle0011_006') + + Button('设置材质BACKGROUND_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THICK + }).id('UIComponentNavTabsBlurStyle0011_007') + + Button('设置材质BACKGROUND_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0011_008') + + Button('设置材质COMPONENT_ULTRA_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THIN + }).id('UIComponentNavTabsBlurStyle0011_009') + + Button('设置材质COMPONENT_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_REGULAR + }).id('UIComponentNavTabsBlurStyle0011_010') + + Button('设置材质COMPONENT_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THICK + }).id('UIComponentNavTabsBlurStyle0011_011') + + Button('设置材质COMPONENT_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0011_012') + + Button('设置材质COMPONENT_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THIN + }).id('UIComponentNavTabsBlurStyle0011_013') + + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0012.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0012.ets new file mode 100644 index 00000000..0ef5fd10 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0012.ets @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0012 { + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + @State blurtype: BlurStyle = BlurStyle.COMPONENT_THIN; + @State seq: number = 0; + build() { + Column({ space: 5 }) { + Text("子页签样式") + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + + + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode) + ) + } + .vertical(true) + .scrollable(true) + .barBackgroundBlurStyle(this.blurtype) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + + + Button('设置材质NONE').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0012_001') + + Button('设置材质Thin').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thin + }).id('UIComponentNavTabsBlurStyle0012_002') + + Button('设置材质Regular').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Regular + }).id('UIComponentNavTabsBlurStyle0012_003') + + Button('设置材质Thick').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thick + }).id('UIComponentNavTabsBlurStyle0012_004') + + Button('设置材质BACKGROUND_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THIN + }).id('UIComponentNavTabsBlurStyle0012_005') + + Button('设置材质BACKGROUND_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_REGULAR + }).id('UIComponentNavTabsBlurStyle0012_006') + + Button('设置材质BACKGROUND_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THICK + }).id('UIComponentNavTabsBlurStyle0012_007') + + Button('设置材质BACKGROUND_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0012_008') + + Button('设置材质COMPONENT_ULTRA_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THIN + }).id('UIComponentNavTabsBlurStyle0012_009') + + Button('设置材质COMPONENT_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_REGULAR + }).id('UIComponentNavTabsBlurStyle0012_010') + + Button('设置材质COMPONENT_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THICK + }).id('UIComponentNavTabsBlurStyle0012_011') + + Button('设置材质COMPONENT_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0012_012') + + Button('设置材质COMPONENT_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THIN + }).id('UIComponentNavTabsBlurStyle0012_013') + + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0013.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0013.ets new file mode 100644 index 00000000..3b6c3e63 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0013.ets @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0013 { + @State selectedMode: SelectedMode = SelectedMode.BOARD; + @State blurtype: BlurStyle = BlurStyle.COMPONENT_THIN; + @State seq: number = 0; + build() { + Column({ space: 5 }) { + Text("子页签样式") + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + + + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode) + ) + } + .vertical(true) + .scrollable(true) + .barBackgroundBlurStyle(this.blurtype) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + + + Button('设置材质NONE').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0013_001') + + Button('设置材质Thin').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thin + }).id('UIComponentNavTabsBlurStyle0013_002') + + Button('设置材质Regular').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Regular + }).id('UIComponentNavTabsBlurStyle0013_003') + + Button('设置材质Thick').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thick + }).id('UIComponentNavTabsBlurStyle0013_004') + + Button('设置材质BACKGROUND_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THIN + }).id('UIComponentNavTabsBlurStyle0013_005') + + Button('设置材质BACKGROUND_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_REGULAR + }).id('UIComponentNavTabsBlurStyle0013_006') + + Button('设置材质BACKGROUND_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THICK + }).id('UIComponentNavTabsBlurStyle0013_007') + + Button('设置材质BACKGROUND_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0013_008') + + Button('设置材质COMPONENT_ULTRA_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THIN + }).id('UIComponentNavTabsBlurStyle0013_009') + + Button('设置材质COMPONENT_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_REGULAR + }).id('UIComponentNavTabsBlurStyle0013_010') + + Button('设置材质COMPONENT_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THICK + }).id('UIComponentNavTabsBlurStyle0013_011') + + Button('设置材质COMPONENT_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0013_012') + + Button('设置材质COMPONENT_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THIN + }).id('UIComponentNavTabsBlurStyle0013_013') + + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0014.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0014.ets new file mode 100644 index 00000000..c8e8b277 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0014.ets @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0014 { + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + @State blurtype: BlurStyle = BlurStyle.COMPONENT_THIN; + @State seq: number = 0; + build() { + Column({ space: 5 }) { + Text("子页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + + + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode) + ) + } + .vertical(true) + .scrollable(true) + .barBackgroundBlurStyle(this.blurtype) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + + + Button('设置材质NONE').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0014_001') + + Button('设置材质Thin').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thin + }).id('UIComponentNavTabsBlurStyle0014_002') + + Button('设置材质Regular').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Regular + }).id('UIComponentNavTabsBlurStyle0014_003') + + Button('设置材质Thick').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thick + }).id('UIComponentNavTabsBlurStyle0014_004') + + Button('设置材质BACKGROUND_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THIN + }).id('UIComponentNavTabsBlurStyle0014_005') + + Button('设置材质BACKGROUND_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_REGULAR + }).id('UIComponentNavTabsBlurStyle0014_006') + + Button('设置材质BACKGROUND_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THICK + }).id('UIComponentNavTabsBlurStyle0014_007') + + Button('设置材质BACKGROUND_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0014_008') + + Button('设置材质COMPONENT_ULTRA_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THIN + }).id('UIComponentNavTabsBlurStyle0014_009') + + Button('设置材质COMPONENT_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_REGULAR + }).id('UIComponentNavTabsBlurStyle0014_010') + + Button('设置材质COMPONENT_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THICK + }).id('UIComponentNavTabsBlurStyle0014_011') + + Button('设置材质COMPONENT_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0014_012') + + Button('设置材质COMPONENT_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THIN + }).id('UIComponentNavTabsBlurStyle0014_013') + + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0015.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0015.ets new file mode 100644 index 00000000..674c4c61 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0015.ets @@ -0,0 +1,131 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0015 { + @State selectedMode: SelectedMode = SelectedMode.BOARD; + @State blurtype: BlurStyle = BlurStyle.COMPONENT_THIN; + @State seq: number = 0; + build() { + Column({ space: 5 }) { + Text("子页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + + + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode) + ) + } + .vertical(true) + .scrollable(true) + .barBackgroundBlurStyle(this.blurtype) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + + + Button('设置材质NONE').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0015_001') + + Button('设置材质Thin').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thin + }).id('UIComponentNavTabsBlurStyle0015_002') + + Button('设置材质Regular').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Regular + }).id('UIComponentNavTabsBlurStyle0015_003') + + Button('设置材质Thick').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thick + }).id('UIComponentNavTabsBlurStyle0015_004') + + Button('设置材质BACKGROUND_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THIN + }).id('UIComponentNavTabsBlurStyle0015_005') + + Button('设置材质BACKGROUND_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_REGULAR + }).id('UIComponentNavTabsBlurStyle0015_006') + + Button('设置材质BACKGROUND_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THICK + }).id('UIComponentNavTabsBlurStyle0015_007') + + Button('设置材质BACKGROUND_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0015_008') + + Button('设置材质COMPONENT_ULTRA_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THIN + }).id('UIComponentNavTabsBlurStyle0015_009') + + Button('设置材质COMPONENT_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_REGULAR + }).id('UIComponentNavTabsBlurStyle0015_010') + + Button('设置材质COMPONENT_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THICK + }).id('UIComponentNavTabsBlurStyle0015_011') + + Button('设置材质COMPONENT_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0015_012') + + Button('设置材质COMPONENT_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THIN + }).id('UIComponentNavTabsBlurStyle0015_013') + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0016.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0016.ets new file mode 100644 index 00000000..ee751d14 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0016.ets @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0016 { + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + @State blurtype: BlurStyle = BlurStyle.COMPONENT_THIN; + @State seq: number = 0; + build() { + Column({ space: 5 }) { + Text("子页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + + + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode) + ) + } + .vertical(false) + .scrollable(true) + .barBackgroundBlurStyle(this.blurtype) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + + + Button('设置材质NONE').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0016_001') + + Button('设置材质Thin').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thin + }).id('UIComponentNavTabsBlurStyle0016_002') + + Button('设置材质Regular').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Regular + }).id('UIComponentNavTabsBlurStyle0016_003') + + Button('设置材质Thick').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thick + }).id('UIComponentNavTabsBlurStyle0016_004') + + Button('设置材质BACKGROUND_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THIN + }).id('UIComponentNavTabsBlurStyle0016_005') + + Button('设置材质BACKGROUND_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_REGULAR + }).id('UIComponentNavTabsBlurStyle0016_006') + + Button('设置材质BACKGROUND_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THICK + }).id('UIComponentNavTabsBlurStyle0016_007') + + Button('设置材质BACKGROUND_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0016_008') + + Button('设置材质COMPONENT_ULTRA_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THIN + }).id('UIComponentNavTabsBlurStyle0016_009') + + Button('设置材质COMPONENT_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_REGULAR + }).id('UIComponentNavTabsBlurStyle0016_010') + + Button('设置材质COMPONENT_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THICK + }).id('UIComponentNavTabsBlurStyle0016_011') + + Button('设置材质COMPONENT_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0016_012') + + Button('设置材质COMPONENT_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THIN + }).id('UIComponentNavTabsBlurStyle0016_013') + + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0017.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0017.ets new file mode 100644 index 00000000..d213b086 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0017.ets @@ -0,0 +1,129 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0017 { + @State selectedMode: SelectedMode = SelectedMode.BOARD; + @State blurtype: BlurStyle = BlurStyle.COMPONENT_THIN; + @State seq: number = 0; + build() { + Column({ space: 5 }) { + Text("子页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + } + .vertical(false) + .scrollable(true) + .barBackgroundBlurStyle(this.blurtype) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + + + Button('设置材质NONE').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0017_001') + + Button('设置材质Thin').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thin + }).id('UIComponentNavTabsBlurStyle0017_002') + + Button('设置材质Regular').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Regular + }).id('UIComponentNavTabsBlurStyle0017_003') + + Button('设置材质Thick').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.Thick + }).id('UIComponentNavTabsBlurStyle0017_004') + + Button('设置材质BACKGROUND_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THIN + }).id('UIComponentNavTabsBlurStyle0017_005') + + Button('设置材质BACKGROUND_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_REGULAR + }).id('UIComponentNavTabsBlurStyle0017_006') + + Button('设置材质BACKGROUND_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_THICK + }).id('UIComponentNavTabsBlurStyle0017_007') + + Button('设置材质BACKGROUND_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.BACKGROUND_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0017_008') + + Button('设置材质COMPONENT_ULTRA_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THIN + }).id('UIComponentNavTabsBlurStyle0017_009') + + Button('设置材质COMPONENT_REGULAR').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_REGULAR + }).id('UIComponentNavTabsBlurStyle0017_010') + + Button('设置材质COMPONENT_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THICK + }).id('UIComponentNavTabsBlurStyle0017_011') + + Button('设置材质COMPONENT_ULTRA_THICK').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0017_012') + + Button('设置材质COMPONENT_THIN').width('50%') + .onClick(()=>{ + this.blurtype = BlurStyle.COMPONENT_THIN + }).id('UIComponentNavTabsBlurStyle0017_013') + + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0018.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0018.ets new file mode 100644 index 00000000..9fe44d5c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0018.ets @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0018 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.currentIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }) + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.currentIndex === index ? 1 : 0) + }.width('100%') + } + + build() { + Column() { + Button('关闭模糊效果') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }) + .id('UIComponentNavTabsBlurStyle0018_001') + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(this.tabBuilder(0, 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(this.tabBuilder(1, 'Yellow')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder(2, 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(this.tabBuilder(3, 'Green')) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(100) + .padding('10vp') + .barPosition(BarPosition.Start) + .vertical(false) + .width(360) + .height(296) + .margin({ top: 52 }) + .backgroundColor('#F1F3F5') + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0019.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0019.ets new file mode 100644 index 00000000..fe049ee2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0019.ets @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0019 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.currentIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }) + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.currentIndex === index ? 1 : 0) + }.width('100%') + } + + build() { + Column() { + Button('关闭模糊效果') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }) + .id('UIComponentNavTabsBlurStyle0019_001') + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(this.tabBuilder(0, 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(this.tabBuilder(1, 'Yellow')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder(2, 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(this.tabBuilder(3, 'Green')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar(this.tabBuilder(3, 'Red')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder(3, 'Blue')) + } + .divider({ + strokeWidth: 1, + color: Color.Red + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(100) + .padding('10vp') + .barPosition(BarPosition.Start) + .vertical(false) + .width(360) + .height(296) + .margin({ top: 52 }) + .backgroundColor('#F1F3F5') + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0020.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0020.ets new file mode 100644 index 00000000..7009d34e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0020.ets @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0020 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.currentIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }) + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.currentIndex === index ? 1 : 0) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(this.tabBuilder(0, 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(this.tabBuilder(1, 'Yellow')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder(2, 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(this.tabBuilder(3, 'Green')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar(this.tabBuilder(3, 'Red')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder(3, 'Blue')) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(100) + .barPosition(BarPosition.Start) + .vertical(false) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(296) + .margin({ top: 52 }) + .backgroundColor('#F1F3F5') + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0021.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0021.ets new file mode 100644 index 00000000..2a06849a --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0021.ets @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0021 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.currentIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }) + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.currentIndex === index ? 1 : 0) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(this.tabBuilder(0, 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(this.tabBuilder(1, 'Yellow')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder(2, 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(this.tabBuilder(3, 'Green')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar(this.tabBuilder(3, 'Red')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder(3, 'Blue')) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barHeight(50) + .padding('10vp') + .barPosition(BarPosition.Start) + .vertical(false) + .width(360) + .height(296) + .margin({ top: 52 }) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0022.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0022.ets new file mode 100644 index 00000000..dbd8d98e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0022.ets @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0022 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.currentIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }) + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.currentIndex === index ? 1 : 0) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(this.tabBuilder(0, 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(this.tabBuilder(1, 'Yellow')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder(2, 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(this.tabBuilder(3, 'Green')) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barMode(BarMode.Scrollable) + .margin('12vp') + .barPosition(BarPosition.Start) + .vertical(false) + .width(360) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0023.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0023.ets new file mode 100644 index 00000000..555c6bd4 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0023.ets @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0023 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('pink') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(SubTabBarStyle.of('Yellow') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(SubTabBarStyle.of('Blue') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(SubTabBarStyle.of('Green') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(SubTabBarStyle.of('Blue') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar(SubTabBarStyle.of('Red') + .selectedMode(SelectedMode.BOARD) + ) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Fixed) + .barWidth(100) + .padding('10vp') + .barPosition(BarPosition.Start) + .vertical(false) + .width(360) + .height(296) + .margin({ top: 52 }) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0024.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0024.ets new file mode 100644 index 00000000..27501c81 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0024.ets @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0024 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('Pink') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + } + .tabBar(SubTabBarStyle.of('Yellow') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + } + .tabBar(SubTabBarStyle.of('Blue') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + } + .tabBar(SubTabBarStyle.of('Green') + .selectedMode(SelectedMode.BOARD) + ) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(80) + .padding('10vp') + .barPosition(BarPosition.Start) + .vertical(false) + .width(360) + .height(296) + .margin({ top: 52 }) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0025.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0025.ets new file mode 100644 index 00000000..6878c233 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0025.ets @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0025 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.currentIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }) + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.currentIndex === index ? 1 : 0) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('Pink') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + } + .tabBar(SubTabBarStyle.of('Yellow') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + } + .tabBar(SubTabBarStyle.of('Blue') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + } + .tabBar(SubTabBarStyle.of('Green') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + } + .tabBar(SubTabBarStyle.of('Blue') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + } + .tabBar(SubTabBarStyle.of('Red') + .selectedMode(SelectedMode.BOARD) + ) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barHeight(300) + .padding('10vp') + .barPosition(BarPosition.Start) + .vertical(false) + .width(360) + .height(296) + .margin({ top: 52 }) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0026.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0026.ets new file mode 100644 index 00000000..3097bcb9 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0026.ets @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0026 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.currentIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }) + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.currentIndex === index ? 1 : 0) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('Pink') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + } + .tabBar(SubTabBarStyle.of('Yellow') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + } + .tabBar(SubTabBarStyle.of('Blue') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + } + .tabBar(SubTabBarStyle.of('Green') + .selectedMode(SelectedMode.BOARD) + ) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Fixed) + .padding('10vp') + .padding('10vp') + .barPosition(BarPosition.Start) + .vertical(false) + .width(360) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0027.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0027.ets new file mode 100644 index 00000000..74e17628 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0027.ets @@ -0,0 +1,133 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0027 { + @State fontColor: string = '#182431'; + @State selectedFontColor: string = '#007DFF'; + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State indicatorColor: ResourceColor = Color.Blue; + @State indicatorHeight: number = 30; + @State indicatorWidth: number = 70; + private controller: TabsController = new TabsController(); + + @Builder + tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.currentIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }) + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.currentIndex === index ? 1 : 0) + }.width('100%') + } + + build() { + Column() { + Button('下划线颜色变化') + .onClick(() => { + this.getUIContext()?.animateTo( + { + duration: 1000, + curve: Curve.Linear, + delay: 200, + iterations: 1, + playMode: PlayMode.Normal + }, () => { + if (this.indicatorColor === Color.Red) { + this.indicatorColor = Color.Yellow; + } else { + this.indicatorColor = Color.Red; + } + }) + }) + Button('下划线高度变化') + .onClick(()=>{ + this.getUIContext()?.animateTo( + { + duration: 1000, + curve: Curve.Linear, + delay: 200, + iterations: 1, + playMode: PlayMode.Normal + }, () => { + if (this.indicatorHeight === 20) { + this.indicatorHeight = 10; + } else { + this.indicatorHeight = 20; + } + }) + }) + Button('下划线宽度变化') + .onClick(()=>{ + this.getUIContext()?.animateTo( + { + duration: 1000, + curve: Curve.Linear, + delay: 200, + iterations: 1, + playMode: PlayMode.Normal + }, () => { + if (this.indicatorWidth === 30) { + this.indicatorWidth = 50; + } else { + this.indicatorWidth = 30; + } + }) + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('pink') + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(SubTabBarStyle.of('Yellow') + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(SubTabBarStyle.of('Blue') + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(SubTabBarStyle.of('Green') + ) + } + .divider({ + strokeWidth: this.indicatorWidth, + color: this.indicatorColor, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Fixed) + .barWidth(100) + .padding('10vp') + .barPosition(BarPosition.Start) + .vertical(false) + .width(360) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0028.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0028.ets new file mode 100644 index 00000000..817aa9e9 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0028.ets @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0028 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.currentIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }) + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.currentIndex === index ? 1 : 0) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(this.tabBuilder(0, 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(this.tabBuilder(1, 'Yellow')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder(2, 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(this.tabBuilder(3, 'Green')) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(100) + .padding('10vp') + .barPosition(BarPosition.End) + .vertical(false) + .width(360) + .height(296) + .margin({ top: 52 }) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0029.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0029.ets new file mode 100644 index 00000000..03638c4c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0029.ets @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0029 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.NONE + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + } + .divider({ + strokeWidth: 1, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(300) + .barHeight(300) + .vertical(false) + .padding('10vp') + .width('auto') + .height(396) + .fadingEdge(true) + Button('打开模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.COMPONENT_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0029_001') + Button('关闭模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0029_002') + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0030.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0030.ets new file mode 100644 index 00000000..f25db1a6 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0030.ets @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0030 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.COMPONENT_ULTRA_THICK + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + } + .divider({ + strokeWidth: 1, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(100) + .barHeight(300) + .vertical(false) + .margin('10vp') + .width('auto') + .height(396) + .fadingEdge(true) + /* + Button('关闭模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0030_001')*/ + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0031.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0031.ets new file mode 100644 index 00000000..7437b832 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0031.ets @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0031 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.COMPONENT_ULTRA_THICK + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + } + .divider({ + strokeWidth: 1, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(50) + .barHeight(300) + .vertical(false) + .margin('10vp') + .width('auto') + .height(396) + .fadingEdge(true) +/* + Button('关闭模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0031_001')*/ + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0032.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0032.ets new file mode 100644 index 00000000..72efc2ae --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0032.ets @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0032 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.COMPONENT_ULTRA_THICK + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + /* + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + */ + } + .divider({ + strokeWidth: 1, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth('auto') + .barHeight(300) + .vertical(false) + .margin('10vp') + .width('auto') + .height(396) + .fadingEdge(true) +/* + Button('关闭模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0032_001')*/ + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0033.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0033.ets new file mode 100644 index 00000000..a76433e9 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0033.ets @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0033 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.COMPONENT_ULTRA_THICK + @State selectedMode: SelectedMode = SelectedMode.BOARD; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + } + .divider({ + strokeWidth: 1, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Fixed) + .barWidth(50) + .barHeight(100) + .vertical(false) + .width('auto') + .height(396) + .fadingEdge(true) + /* + Button('关闭模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0033_001')*/ + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0034.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0034.ets new file mode 100644 index 00000000..8dbe91fb --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0034.ets @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0034 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.COMPONENT_ULTRA_THICK + @State selectedMode: SelectedMode = SelectedMode.BOARD; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + } + .divider({ + strokeWidth: 1, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(80) + .barHeight(100) + .vertical(false) + .width('auto') + .height(396) + .fadingEdge(true) + /* + Button('关闭模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0034_001')*/ + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0035.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0035.ets new file mode 100644 index 00000000..5fc82a7c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0035.ets @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0035 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.COMPONENT_ULTRA_THICK + @State selectedMode: SelectedMode = SelectedMode.BOARD; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + } + .divider({ + strokeWidth: 1, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth('auto') + .barHeight(300) + .vertical(false) + .padding('10vp') + .width('auto') + .height(396) + .fadingEdge(true) + /* + Button('关闭模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0035_001')*/ + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0036.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0036.ets new file mode 100644 index 00000000..79b2ecdb --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0036.ets @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0036 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.COMPONENT_ULTRA_THICK + @State selectedMode: SelectedMode = SelectedMode.BOARD; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + /* + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode))*/ + } + .divider({ + strokeWidth: 1, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth('auto') + .barHeight(100) + .vertical(false) + .padding('10vp') + .width('auto') + .height(396) + .fadingEdge(true) + + Button('关闭模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0036_001') + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0038.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0038.ets new file mode 100644 index 00000000..651fc16f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0038.ets @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0038 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.COMPONENT_ULTRA_THICK + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + } + .divider({ + strokeWidth: 2, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(80) + .barHeight(300) + .vertical(true) + .padding(('10vp')) + .width(360) + .height(396) + .fadingEdge(true) + + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0039.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0039.ets new file mode 100644 index 00000000..2cf9c48c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0039.ets @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0039 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.NONE + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + } + .divider({ + strokeWidth: 1, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(100) + .barHeight(300) + .vertical(true) + .padding(('10vp')) + .width(360) + .height(396) + .fadingEdge(true) + Button('打开模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.COMPONENT_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0039_001') + Button('关闭模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0039_002') + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0040.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0040.ets new file mode 100644 index 00000000..c7a2d4a8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0040.ets @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0040 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.COMPONENT_ULTRA_THICK + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + } + .divider({ + strokeWidth: 2, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(100) + .barHeight(300) + .vertical(true) + .padding(('10vp')) + .width(360) + .height(396) + .fadingEdge(true) + + /*Button('关闭模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0040_001')*/ + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0041.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0041.ets new file mode 100644 index 00000000..fd23edf3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0041.ets @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0041 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.COMPONENT_ULTRA_THICK + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + } + .divider({ + strokeWidth: 2, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(50) + .barHeight(300) + .vertical(true) + .padding(('10vp')) + .width(360) + .height(396) + .fadingEdge(true) + + /*Button('关闭模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0041_001')*/ + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0042.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0042.ets new file mode 100644 index 00000000..98e26ea3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0042.ets @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0042 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + @State selectedMode: SelectedMode = SelectedMode.BOARD; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + } + .divider({ + strokeWidth: 2, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Fixed) + .barWidth(50) + .vertical(true) + .width(360) + .height(396) + .fadingEdge(true) + + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0043.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0043.ets new file mode 100644 index 00000000..242b6fda --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0043.ets @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0043 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + @State selectedMode: SelectedMode = SelectedMode.BOARD; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Blur') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + } + .divider({ + strokeWidth: 2, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(80) + //.padding('10vp') + .vertical(true) + .width(360) + .height(396) + .fadingEdge(true) + + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0044.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0044.ets new file mode 100644 index 00000000..53551f1c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0044.ets @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0044 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.COMPONENT_ULTRA_THICK + @State selectedMode: SelectedMode = SelectedMode.BOARD; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + } + .divider({ + strokeWidth: 2, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(80) + .barHeight(300) + .vertical(true) + .width(360) + .height(396) + .fadingEdge(true) + + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0045.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0045.ets new file mode 100644 index 00000000..d61e9c1a --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0045.ets @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0045 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + @State selectedMode: SelectedMode = SelectedMode.BOARD; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + } + .divider({ + strokeWidth: 2, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(80) + .padding('10vp') + .vertical(true) + .width(360) + .height(396) + .fadingEdge(true) + + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0046.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0046.ets new file mode 100644 index 00000000..96e991bf --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0046.ets @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0046 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + @State selectedMode: SelectedMode = SelectedMode.BOARD; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + } + .divider({ + strokeWidth: 2, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Fixed) + .barWidth(50) + .padding('10vp') + .vertical(true) + .width(360) + .height(396) + .fadingEdge(true) + + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0047.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0047.ets new file mode 100644 index 00000000..d6da2636 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0047.ets @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0047 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.currentIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }) + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.currentIndex === index ? 1 : 0) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(this.tabBuilder(0, 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(this.tabBuilder(1, 'Yellow')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder(2, 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(this.tabBuilder(3, 'Green')) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(100) + .padding('10vp') + .barPosition(BarPosition.End) + .vertical(true) + .width(360) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0048.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0048.ets new file mode 100644 index 00000000..f741e524 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0048.ets @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0048 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.NONE + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + .backgroundBlurStyle(this.blurStyle) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + } + .divider({ + strokeWidth: 2, + color: Color.Red, + }) + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(100) + .padding('10vp') + .barPosition(BarPosition.End) + .vertical(true) + .width(360) + .height(196) + .fadingEdge(true) + Button('打开模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.COMPONENT_ULTRA_THICK + }).id('UIComponentNavTabsBlurStyle0048_001') + Button('关闭模糊').width('50%') + .onClick(()=>{ + this.blurStyle = BlurStyle.NONE + }).id('UIComponentNavTabsBlurStyle0048_002') + + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0049.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0049.ets new file mode 100644 index 00000000..2f173a8e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0049.ets @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0049 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(100) + .padding('10vp') + .barPosition(BarPosition.End) + .vertical(true) + .width(360) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0050.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0050.ets new file mode 100644 index 00000000..d873edf8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0050.ets @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0050 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + private controller: TabsController = new TabsController() + + @Builder + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Red') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Red }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barWidth(50) + .padding('10vp') + .barPosition(BarPosition.End) + .vertical(true) + .width(360) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0051.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0051.ets new file mode 100644 index 00000000..6937152c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0051.ets @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0051 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('Pink') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + } + .tabBar(SubTabBarStyle.of('Yellow') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + } + .tabBar(SubTabBarStyle.of('Blue') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + } + .tabBar(SubTabBarStyle.of('Green') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + } + .tabBar(SubTabBarStyle.of('Blue') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + } + .tabBar(SubTabBarStyle.of('Red') + .selectedMode(SelectedMode.BOARD) + ) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Fixed) + .barWidth(50) + .barPosition(BarPosition.End) + .vertical(true) + .width(360) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0052.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0052.ets new file mode 100644 index 00000000..ce25afd9 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0052.ets @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0052 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.currentIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }) + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.currentIndex === index ? 1 : 0) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('Pink') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + } + .tabBar(SubTabBarStyle.of('Yellow') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + } + .tabBar(SubTabBarStyle.of('Blue') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + } + .tabBar(SubTabBarStyle.of('Green') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + } + .tabBar(SubTabBarStyle.of('Blue') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + } + .tabBar(SubTabBarStyle.of('Red') + .selectedMode(SelectedMode.BOARD) + ) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .barHeight(300) + .barPosition(BarPosition.End) + .vertical(true) + .width(360) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0053.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0053.ets new file mode 100644 index 00000000..dedd3f02 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0053.ets @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0053 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(index: number, name: string) { + Column() { + Text(name) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(16) + .fontWeight(this.currentIndex === index ? 500 : 400) + .lineHeight(22) + .margin({ top: 17, bottom: 7 }) + Divider() + .strokeWidth(2) + .color('#007DFF') + .opacity(this.currentIndex === index ? 1 : 0) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('Pink') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + } + .tabBar(SubTabBarStyle.of('Yellow') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + } + .tabBar(SubTabBarStyle.of('Blue') + .selectedMode(SelectedMode.BOARD) + ) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + } + .tabBar(SubTabBarStyle.of('Green') + .selectedMode(SelectedMode.BOARD) + ) + } + .barBackgroundBlurStyle(this.blurStyle) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(BarMode.Scrollable) + .padding('10vp') + .barPosition(BarPosition.End) + .vertical(true) + .width(360) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0060.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0060.ets new file mode 100644 index 00000000..a5c8a691 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0060.ets @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0060 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%') + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width('100%').height('100%') + } + .tabBar(SubTabBarStyle.of('2')) + + } + .width(360) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0080.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0080.ets new file mode 100644 index 00000000..9c187a58 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0080.ets @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0080 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .width(360) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0100.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0100.ets new file mode 100644 index 00000000..fdf750c1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0100.ets @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0100 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + } + .opacity(0.6) + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + } + .opacity(0.6) + .tabBar(SubTabBarStyle.of('2')) + + } + .opacity(0.6) + .barOverlap(true) + .width(360) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0110.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0110.ets new file mode 100644 index 00000000..c3393cbb --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0110.ets @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0110 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Red) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barWidth('50%') + .barOverlap(true) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0160.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0160.ets new file mode 100644 index 00000000..c82db6f7 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0160.ets @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0160 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Red) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barOverlap(true) + .height(296) + .margin(10) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0170.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0170.ets new file mode 100644 index 00000000..cbad1cf4 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0170.ets @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0170 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Red) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barOverlap(true) + .height(296) + .padding(10) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0180.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0180.ets new file mode 100644 index 00000000..254ad5af --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0180.ets @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */@Entry +@Component +struct UIComponentNavTabsBlurStyle0180 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Red) + } + .opacity(0) + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .opacity(0) + .tabBar(SubTabBarStyle.of('2')) + + } + .barOverlap(true) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0190.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0190.ets new file mode 100644 index 00000000..581d2831 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0190.ets @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0190 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Red) + } + .opacity(0.6) + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .opacity(0.6) + .tabBar(SubTabBarStyle.of('2')) + + } + .barOverlap(true) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0200.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0200.ets new file mode 100644 index 00000000..1710160e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0200.ets @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0200 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Red) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .opacity(0.6) + .barOverlap(true) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0210.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0210.ets new file mode 100644 index 00000000..08693368 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0210.ets @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0210 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Red) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .opacity(0) + .barOverlap(true) + .height(296) + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0220.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0220.ets new file mode 100644 index 00000000..8d28c9a1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0220.ets @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0220 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundBlurStyle(this.blurStyle) + .divider({ + strokeWidth: 10, + color: Color.Red }) + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0230.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0230.ets new file mode 100644 index 00000000..76dc54c8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0230.ets @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0230 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundColor('#ff0000') + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0240.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0240.ets new file mode 100644 index 00000000..e34491b1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0240.ets @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0240 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundColor('#ffffff') + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0250.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0250.ets new file mode 100644 index 00000000..77f2db72 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0250.ets @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0250 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundColor(0xff0000) + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0260.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0260.ets new file mode 100644 index 00000000..8753255d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0260.ets @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0260 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundColor(0xffff00) + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0270.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0270.ets new file mode 100644 index 00000000..aad861ed --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0270.ets @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0270 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundColor(Color.Blue) + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0280.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0280.ets new file mode 100644 index 00000000..e79cbfe2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0280.ets @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0280 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundColor(Color.Yellow) + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0290.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0290.ets new file mode 100644 index 00000000..4a148ed2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0290.ets @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0290 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundColor($r('app.color.start_window_background')) + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0300.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0300.ets new file mode 100644 index 00000000..f1c10b08 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0300.ets @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0300 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundColor('rgb(255,255,0)') + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0310.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0310.ets new file mode 100644 index 00000000..ca812e50 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0310.ets @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0310 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundColor('rgba(255,0,0,0.5)') + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0320.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0320.ets new file mode 100644 index 00000000..f2b863e8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0320.ets @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0320 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundColor('abc') + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0340.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0340.ets new file mode 100644 index 00000000..783cb4fe --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0340.ets @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0340 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Green) + } + .tabBar(SubTabBarStyle.of('tab1')) + + TabContent() { + Column().width(500).height('100%') + } + .tabBar(SubTabBarStyle.of('tab2')).backgroundColor(Color.Red) + + } + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0350.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0350.ets new file mode 100644 index 00000000..6f305f9f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0350.ets @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0350 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundColor(Color. Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0360.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0360.ets new file mode 100644 index 00000000..19ce03d1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0360.ets @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0360 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundColor(Color. Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .opacity(0.6) + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0370.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0370.ets new file mode 100644 index 00000000..4d03eec2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0370.ets @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0370 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .barOverlap(true) + .barWidth('150%') + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0380.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0380.ets new file mode 100644 index 00000000..5d37b7e1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0380.ets @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0380 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .barOverlap(true) + .barHeight('100%') + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0390.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0390.ets new file mode 100644 index 00000000..e64126db --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0390.ets @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0390 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .barOverlap(true) + .barHeight('150%') + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0400.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0400.ets new file mode 100644 index 00000000..8f396c21 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0400.ets @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsBlurStyle0400 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .barOverlap(true) + .barHeight('20%') + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount014.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount014.ets new file mode 100644 index 00000000..0a9b2b6d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount014.ets @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { BusinessError } from '@kit.BasicServicesKit' + +@Entry +@Component +struct UIComponentNavTabsCachedCount014 { + @State currentIndex: number = 0 + private tabsController: TabsController = new TabsController() + + build() { + Column() { + Tabs({ index: this.currentIndex, barPosition: BarPosition.Start, controller: this.tabsController }) { + TabContent() { + MyComponent({ color: '#00CB87' }) + }.tabBar(SubTabBarStyle.of('green')) + + TabContent() { + MyComponent({ color: '#007DFF' }) + }.tabBar(SubTabBarStyle.of('blue')) + + TabContent() { + MyComponent({ color: '#FFBF00' }) + }.tabBar(SubTabBarStyle.of('yellow')) + + TabContent() { + MyComponent({ color: '#E67C92' }) + }.tabBar(SubTabBarStyle.of('pink')) + } + .width(360) + .height(296) + .backgroundColor('#F1F3F5') + .onChange((index: number) => { + this.currentIndex = index + }) + + Button('preload items: [1, 3]') + .margin(5) + .onClick(() => { + // 预加载第1、3个子节点,提高滑动或点击切换至这些节点时的性能 + this.tabsController.preloadItems([1, 3]) + .then(() => { + console.info('preloadItems success.') + }) + .catch((error: BusinessError) => { + console.error('preloadItems failed, error code: ' + error.code + ', error message: ' + error.message) + }) + }) + .id('UIComponentNavTabs014_001') + } + } +} + +@Component +struct MyComponent { + private color: string = "" + + aboutToAppear(): void { + console.info('aboutToAppear backgroundColor:' + this.color) + } + + aboutToDisappear(): void { + console.info('aboutToDisappear backgroundColor:' + this.color) + } + + build() { + Column() + .width('100%') + .height('100%') + .backgroundColor(this.color) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount015.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount015.ets new file mode 100644 index 00000000..57f6ee4c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount015.ets @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { BusinessError } from '@kit.BasicServicesKit' + +@Entry +@Component +struct UIComponentNavTabsCachedCount015 { + @State currentIndex: number = 0 + private tabsController: TabsController = new TabsController() + + build() { + Column() { + Tabs({ index: this.currentIndex, barPosition: BarPosition.End, controller: this.tabsController }) { + TabContent() { + MyComponent({ color: '#00CB87' }) + }.tabBar(SubTabBarStyle.of('green')) + + TabContent() { + MyComponent({ color: '#007DFF' }) + }.tabBar(SubTabBarStyle.of('blue')) + + TabContent() { + MyComponent({ color: '#FFBF00' }) + }.tabBar(SubTabBarStyle.of('yellow')) + + TabContent() { + MyComponent({ color: '#E67C92' }) + }.tabBar(SubTabBarStyle.of('pink')) + } + .width(360) + .height(296) + .backgroundColor('#F1F3F5') + .onChange((index: number) => { + this.currentIndex = index + }) + + Button('preload items: [1, 3]') + .margin(5) + .onClick(() => { + // 预加载第1、3个子节点,提高滑动或点击切换至这些节点时的性能 + this.tabsController.preloadItems([1, 3]) + .then(() => { + console.info('preloadItems success.') + }) + .catch((error: BusinessError) => { + console.error('preloadItems failed, error code: ' + error.code + ', error message: ' + error.message) + }) + }) + .id('UIComponentNavTabs015_001') + } + } +} + +@Component +struct MyComponent { + private color: string = "" + + aboutToAppear(): void { + console.info('aboutToAppear backgroundColor:' + this.color) + } + + aboutToDisappear(): void { + console.info('aboutToDisappear backgroundColor:' + this.color) + } + + build() { + Column() + .width('100%') + .height('100%') + .backgroundColor(this.color) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount016.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount016.ets new file mode 100644 index 00000000..4989f8da --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount016.ets @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { BusinessError } from '@kit.BasicServicesKit' + +@Entry +@Component +struct UIComponentNavTabsCachedCount016 { + @State currentIndex: number = 0 + @State barPosition: BarPosition = BarPosition.Start // 新增状态以动态改变 barPosition + private tabsController: TabsController = new TabsController() + + build() { + Column() { + // Tabs 组件,使用动态 barPosition + Tabs({ index: this.currentIndex, barPosition: this.barPosition, controller: this.tabsController }) { + TabContent() { + MyComponent({ color: '#00CB87' }) + }.tabBar(SubTabBarStyle.of('green')) + + TabContent() { + MyComponent({ color: '#007DFF' }) + }.tabBar(SubTabBarStyle.of('blue')) + + TabContent() { + MyComponent({ color: '#FFBF00' }) + }.tabBar(SubTabBarStyle.of('yellow')) + + TabContent() { + MyComponent({ color: '#E67C92' }) + }.tabBar(SubTabBarStyle.of('pink')) + } + .width(360) + .height(296) + .backgroundColor('#F1F3F5') + .onChange((index: number) => { + this.currentIndex = index + }) + + Button('preload items: [1, 3]') + .margin(5) + .onClick(() => { + // 预加载第1、3个子节点,提高滑动或点击切换至这些节点时的性能 + this.tabsController.preloadItems([1, 3]) + .then(() => { + console.info('preloadItems success.') + }) + .catch((error: BusinessError) => { + console.error('preloadItems failed, error code: ' + error.code + ', error message: ' + error.message) + }) + }) + .id('UIComponentNavTabs016_001') + + // 按钮用于切换 barPosition + Button('Toggle Bar Position') + .margin(5) + .onClick(() => { + // 切换 barPosition + this.barPosition = this.barPosition === BarPosition.Start ? BarPosition.End : BarPosition.Start; + console.info('Bar position changed to: ' + this.barPosition); + }) + .id('UIComponentNavTabs016_002') + } + } +} + +@Component +struct MyComponent { + private color: string = "" + + aboutToAppear(): void { + console.info('aboutToAppear backgroundColor:' + this.color) + } + + aboutToDisappear(): void { + console.info('aboutToDisappear backgroundColor:' + this.color) + } + + build() { + Column() + .width('100%') + .height('100%') + .backgroundColor(this.color) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt001.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt001.ets new file mode 100644 index 00000000..38dc8833 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt001.ets @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt001 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + } + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, controller: this.controller, }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(50) + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(100) + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(150) + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(200) + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .barWidth('auto') + .onChange((index: number) => { + this.currentIndex = index + }) + .width('auto') + .height(400) + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt002.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt002.ets new file mode 100644 index 00000000..978133eb --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt002.ets @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt002 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + } + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, controller: this.controller, }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(50) + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(100) + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(150) + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(200) + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .barHeight('auto') + .onChange((index: number) => { + this.currentIndex = index + }) + .width(500) + .height('auto') + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt003.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt003.ets new file mode 100644 index 00000000..3a480b85 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt003.ets @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt003 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + } + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(50) + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(100) + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(150) + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(200) + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .barHeight('auto') + .onChange((index: number) => { + this.currentIndex = index + }) + .width(500) + .height('auto') + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt004.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt004.ets new file mode 100644 index 00000000..8bc1098d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt004.ets @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt004 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + } + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(50) + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(100) + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(150) + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(200) + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .barWidth('auto') + .onChange((index: number) => { + this.currentIndex = index + }) + .width('auto') + .height(400) + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0050.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0050.ets new file mode 100644 index 00000000..7e7ab58e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0050.ets @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt0500 { + private controller: TabsController = new TabsController() + @State subTabBorderRadius: number = 10; + + build() { + Column() { + + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column().width('100%').height(50).backgroundColor(Color.Pink).borderRadius(this.subTabBorderRadius) + }.tabBar('pink') + + TabContent() { + Column().width('100%').height(60).backgroundColor(Color.Yellow).borderRadius(this.subTabBorderRadius) + }.tabBar('yellow') + + TabContent() { + Column().width('100%').height(70).backgroundColor(Color.Blue).borderRadius(this.subTabBorderRadius) + }.tabBar('blue') + + TabContent() { + Column().width('100%').height(80).backgroundColor(Color.Green).borderRadius(this.subTabBorderRadius) + }.tabBar('green') + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Scrollable) + .barHeight(140) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .backgroundColor(0xF5F5F5) + .height('auto') + + }.width('100%').height(250).padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt007.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt007.ets new file mode 100644 index 00000000..88974097 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt007.ets @@ -0,0 +1,135 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt007 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State tabPadding: string = 'auto' + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + } + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, controller: this.controller, }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(50) + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(100) + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(150) + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(200) + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .barHeight('auto') + .onChange((index: number) => { + this.currentIndex = index + }) + .width(500) + .height('auto') + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + .padding(this.tabPadding) + + Button('tab.padding设置为10').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.tabPadding = '10' + }).id('UIComponentNavTabsContentAdapt007_001') + + Button('tab.padding设置为20').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.tabPadding = '20' + }).id('UIComponentNavTabsContentAdapt007_002') + + Button('tab.padding设置为30').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.tabPadding = '30' + }).id('UIComponentNavTabsContentAdapt007_003') + + Button('tab.padding设置为auto').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.tabPadding = 'auto' + }).id('UIComponentNavTabsContentAdapt007_004') + + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0080.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0080.ets new file mode 100644 index 00000000..a595bf56 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0080.ets @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt0080 { + private controller: TabsController = new TabsController() + @State subTabBorderRadius: number = 10; + + build() { + Column() { + + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column().width('100%').height(50).backgroundColor(Color.Pink).borderRadius(this.subTabBorderRadius) + }.tabBar('pink') + + TabContent() { + Column().width('100%').height(60).backgroundColor(Color.Yellow).borderRadius(this.subTabBorderRadius) + }.tabBar('yellow') + + TabContent() { + Column().width('100%').height(70).backgroundColor(Color.Blue).borderRadius(this.subTabBorderRadius) + }.tabBar('blue') + + TabContent() { + Column().width('100%').height(80).backgroundColor(Color.Green).borderRadius(this.subTabBorderRadius) + }.tabBar('green') + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Scrollable) + .barHeight(140) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .backgroundColor(0xF5F5F5) + .height('auto') + + Button('addBorderRadius').width('50%').margin({ top: 20 }) + .onClick(()=>{ + this.subTabBorderRadius = 20 + }).id('UIComponentNavTabsContentAdapt0080_001') + + Button('resetBorderRadius').width('50%').margin({ top: 20 }) + .onClick(()=>{ + this.subTabBorderRadius = 10 + }).id('UIComponentNavTabsContentAdapt0080_002') + + }.width('100%').height(250).padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt010.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt010.ets new file mode 100644 index 00000000..d226bfc2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt010.ets @@ -0,0 +1,110 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt010 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text('Tab') + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%').height('100%').justifyContent(FlexAlign.Center) + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(50) + }.tabBar(this.tabBuilder(0)) + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(100) + }.tabBar(this.tabBuilder(1)) + TabContent(){ + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(150) + }.tabBar(this.tabBuilder(2)) + TabContent(){ + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(200) + }.tabBar(this.tabBuilder(3)) + } + .vertical(true) + .barWidth(96) + .barHeight(414) + .onChange((index: number) => { + this.currentIndex = index + }) + .width('auto') + .height(414) + .backgroundColor('#F1F3F5') + .margin({ top: 52 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt011.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt011.ets new file mode 100644 index 00000000..5d4994b3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt011.ets @@ -0,0 +1,110 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt011 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text('Tab') + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%').height('100%').justifyContent(FlexAlign.Center) + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(50) + }.tabBar(this.tabBuilder(0)) + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(100) + }.tabBar(this.tabBuilder(1)) + TabContent(){ + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(150) + }.tabBar(this.tabBuilder(2)) + TabContent(){ + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(400) + }.tabBar(this.tabBuilder(3)) + } + .vertical(true) + .barWidth(96) + .barHeight(200) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(300) + .height('auto') + .backgroundColor('#F1F3F5') + .margin({ top: 52 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt012.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt012.ets new file mode 100644 index 00000000..5ea70d1d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt012.ets @@ -0,0 +1,110 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt012 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text('Tab') + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%').height('100%').justifyContent(FlexAlign.Center) + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(50) + }.tabBar(this.tabBuilder(0)) + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(100) + }.tabBar(this.tabBuilder(1)) + TabContent(){ + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(150) + }.tabBar(this.tabBuilder(2)) + TabContent(){ + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(400) + }.tabBar(this.tabBuilder(3)) + } + .vertical(true) + .barWidth(96) + .barHeight(200) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(300) + .height('auto') + .backgroundColor('#F1F3F5') + .margin({ top: 52 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt013.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt013.ets new file mode 100644 index 00000000..495b0615 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt013.ets @@ -0,0 +1,110 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt013 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text('Tab') + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%').height('100%').justifyContent(FlexAlign.Center) + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(50) + }.tabBar(this.tabBuilder(0)) + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(100) + }.tabBar(this.tabBuilder(1)) + TabContent(){ + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(150) + }.tabBar(this.tabBuilder(2)) + TabContent(){ + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(200) + }.tabBar(this.tabBuilder(3)) + } + .vertical(true) + .barWidth(96) + .barHeight(414) + .onChange((index: number) => { + this.currentIndex = index + }) + .width('auto') + .height(414) + .backgroundColor('#F1F3F5') + .margin({ top: 52 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt014.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt014.ets new file mode 100644 index 00000000..4422d4d9 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt014.ets @@ -0,0 +1,115 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt014 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + } + } + + build() { + Column() { + + Tabs({ barPosition: BarPosition.Start, controller: this.controller, }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(50).width(50) + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(100).width(100) + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(150).width(150) + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(200).width(200) + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .scrollable(false) + .barHeight('auto') + .onChange((index: number) => { + this.currentIndex = index + }) + .width('auto') + .height('auto') + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + .padding('auto') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0150.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0150.ets new file mode 100644 index 00000000..7274559e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0150.ets @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt0150 { + @State barWidth: number = 300; + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Yellow')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Green')); + } + .vertical(false) + .scrollable(true) + .barHeight('auto') + .barWidth(this.barWidth) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()); + }) + .width('400') + .height('auto') + .backgroundColor(0xF1F3F5); + Button('宽度改变').width('50%') + .onClick(() => { + if (this.barWidth == 300) { + this.barWidth = 400; + } + else { + this.barWidth = 300; + } + }).id('UIComponentNavTabsContentAdapt0150_001'); + + }.width('100%').height(200) + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0160.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0160.ets new file mode 100644 index 00000000..57cfb440 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0160.ets @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentadapt0160 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State barWidth: number = 200; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('change barWidth') + .id('UIComponentNavTabsContentadapt0160_001') + .onClick(() => { + this.barWidth += 50; + }) + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(SubTabBarStyle.of('Green')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(SubTabBarStyle.of('Blue')) + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('auto') + .barWidth(this.barWidth) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0170.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0170.ets new file mode 100644 index 00000000..9ffae16a --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0170.ets @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentadapt0170 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State barWidth: number = 200; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('change barWidth') + .id('UIComponentNavTabsContentadapt0170_001') + .onClick(() => { + this.barWidth += 50; + }) + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(SubTabBarStyle.of('Green')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(SubTabBarStyle.of('Blue')) + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('auto') + .barWidth(this.barWidth) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0180.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0180.ets new file mode 100644 index 00000000..15c96d9b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0180.ets @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt0180 { + @State barWidth: number = 200; + build() { + Column({ space: 5 }) { + + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Yellow')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Green')); + } + .vertical(true).scrollable(true).barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('auto') + .barWidth(this.barWidth) + .backgroundColor(0xF1F3F5); + + Button('宽度改变').width('50%') + .onClick(() => { + this.barWidth -= 50; + if (this.barWidth <= 100) { + this.barWidth = 200; + } + }).id('UIComponentNavTabsContentAdapt0180_001'); + + }.width('400').height('400'); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0190.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0190.ets new file mode 100644 index 00000000..ac565f2f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0190.ets @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentadapt0190 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State barWidth: number = 200; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('change barWidth') + .id('UIComponentNavTabsContentadapt0190_001') + .onClick(() => { + this.barWidth += 50; + }) + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(SubTabBarStyle.of('Green')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(SubTabBarStyle.of('Blue')) + } + .vertical(true) + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .width('auto') + .barWidth(this.barWidth) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0200.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0200.ets new file mode 100644 index 00000000..5f4db990 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0200.ets @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentadapt0200 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State barWidth: number = 200; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('change barWidth') + .id('UIComponentNavTabsContentadapt0200_001') + .onClick(() => { + this.barWidth += 50; + }) + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(SubTabBarStyle.of('Green')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(SubTabBarStyle.of('Blue')) + } + .vertical(true) + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('auto') + .barWidth(this.barWidth) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0210.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0210.ets new file mode 100644 index 00000000..26fb7de5 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0210.ets @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt0210 { + @State barHeight: number = 100; + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Yellow')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Green')); + } + .vertical(false) + .scrollable(true) + .barHeight(this.barHeight) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()); + }) + .width('100%') + .height('auto') + .backgroundColor(0xF1F3F5); + Button('高度改变').width('50%') + .onClick(() => { + this.barHeight += 50; + if (this.barHeight >= 200) { + this.barHeight = 100; + } + }).id('UIComponentNavTabsContentAdapt0210_001'); + + }.width('100%').height(200) + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0220.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0220.ets new file mode 100644 index 00000000..61c778ab --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0220.ets @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentadapt0220 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State barHeight: number = 100; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('change barheight') + .id('UIComponentNavTabsContentadapt0220_001') + .onClick(() => { + this.barHeight += 50; + }) + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(SubTabBarStyle.of('Green')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(SubTabBarStyle.of('Blue')) + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('auto') + .barHeight(this.barHeight) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0230.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0230.ets new file mode 100644 index 00000000..bd0c8fc2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0230.ets @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentadapt0230 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State barHeight: number = 200; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('change barHeight') + .id('UIComponentNavTabsContentadapt0230_001') + .onClick(() => { + this.barHeight += 50; + }) + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(SubTabBarStyle.of('Green')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(SubTabBarStyle.of('Blue')) + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('auto') + .barHeight(this.barHeight) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0240.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0240.ets new file mode 100644 index 00000000..9be0ffc8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0240.ets @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt0240 { + @State barHeight: number = 400; + build() { + Column({ space: 5 }) { + + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Yellow')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Green')); + } + .vertical(true).scrollable(true).barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('auto') + .barHeight(this.barHeight) + .backgroundColor(0xF1F3F5); + + Button('高度改变').width('50%') + .onClick(() => { + this.barHeight -= 50; + if (this.barHeight <= 300) { + this.barHeight = 400; + } + }).id('UIComponentNavTabsContentAdapt0240_001'); + + }.width('100%').height(400); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0250.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0250.ets new file mode 100644 index 00000000..7bb6a5df --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0250.ets @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentadapt0250 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State barHeight: number = 100; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('change barheight') + .id('UIComponentNavTabsContentadapt0250_001') + .onClick(() => { + this.barHeight += 50; + }) + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(SubTabBarStyle.of('Green')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(SubTabBarStyle.of('Blue')) + } + .vertical(true) + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .width('auto') + .barHeight(this.barHeight) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0260.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0260.ets new file mode 100644 index 00000000..0f786fc5 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0260.ets @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentadapt0260 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State barHeight: number = 200; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('change barHeight') + .id('UIComponentNavTabsContentadapt0260_001') + .onClick(() => { + this.barHeight += 50; + }) + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(SubTabBarStyle.of('Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(SubTabBarStyle.of('Green')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(SubTabBarStyle.of('Blue')) + } + .vertical(true) + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .width('auto') + .barHeight(this.barHeight) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt027.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt027.ets new file mode 100644 index 00000000..9e1ab4d5 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt027.ets @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt027 { + private controller1: TabsController = new TabsController() + @State dividerColor: string = 'red' + @State strokeWidth: number = 2 + @State startMargin: number = 0 + @State endMargin: number = 0 + @State nullFlag: boolean = false + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, controller: this.controller1 }) { + TabContent() { + Column().width('100%').height(50).backgroundColor(Color.Pink) + }.tabBar('pink') + + TabContent() { + Column().width('100%').height(80).backgroundColor(Color.Yellow) + }.tabBar('yellow') + + TabContent() { + Column().width('100%').height(100).backgroundColor(Color.Blue) + }.tabBar('blue') + + TabContent() { + Column().width('100%').height(120).backgroundColor(Color.Green) + }.tabBar('green') + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .barWidth('auto') + .barHeight('auto') + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('auto') + .margin({ bottom: '12vp' }) + .divider(this.nullFlag ? null : { + strokeWidth: this.strokeWidth, + color: this.dividerColor, + startMargin: this.startMargin, + endMargin: this.endMargin + }) + + Button('增加Divider').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.nullFlag = false; + this.strokeWidth += 2; + this.dividerColor = 'red'; + this.startMargin = 0; + this.endMargin = 0; + }).id('UIComponentNavTabsContentAdapt027_001') + Button('复位Divider').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.nullFlag = false + this.strokeWidth = 2; + }).id('UIComponentNavTabsContentAdapt027_002') + }.padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt028.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt028.ets new file mode 100644 index 00000000..dd92e42c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt028.ets @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt028 { + private controller1: TabsController = new TabsController() + @State dividerColor: string = 'blue' + @State startMargin: number = 0 + @State endMargin: number = 0 + @State nullFlag: boolean = false + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, controller: this.controller1 }) { + TabContent() { + Column().width('100%').height(50).backgroundColor(Color.Pink) + }.tabBar('pink') + + TabContent() { + Column().width('100%').height(70).backgroundColor(Color.Yellow) + }.tabBar('yellow') + + TabContent() { + Column().width('100%').height(80).backgroundColor(Color.Blue) + }.tabBar('blue') + + TabContent() { + Column().width('100%').height(100).backgroundColor(Color.Green) + }.tabBar('green') + + } + .vertical(false) + .direction(Direction.Ltr) + .scrollable(true) + .barMode(BarMode.Fixed) + .barWidth('auto') + .barHeight('auto') + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('auto') + .margin({ bottom: '12vp' }) + .divider(this.nullFlag ? null : { + strokeWidth: 2, + color: this.dividerColor, + startMargin: this.startMargin, + endMargin: this.endMargin + }) + Button('上边距增加').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.startMargin += 2 + }).id('UIComponentNavTabsContentAdapt028_001') + + Button('上边距减少').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + if (this.startMargin > 2) { + this.startMargin -= 2 + } + }).id('UIComponentNavTabsContentAdapt028_002') + + Button('下边距增加').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.endMargin += 2 + }).id('UIComponentNavTabsContentAdapt028_003') + + Button('下边距减少').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + if (this.endMargin > 2) { + this.endMargin -= 2 + } + }).id('UIComponentNavTabsContentAdapt028_004') + + Button('颜色变为红色').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.dividerColor = 'red' + }).id('UIComponentNavTabsContentAdapt028_005') + + + }.padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt030.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt030.ets new file mode 100644 index 00000000..fcb001cd --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt030.ets @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt030 { + private controller: TabsController = new TabsController() + @State barOverlap: boolean = true; + @State barBackgroundColor: string = '#88888888'; + + build() { + Column() { + + Tabs({ barPosition: BarPosition.Start, index: 2, controller: this.controller }) { + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(200) + .backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "1")) + + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(300) + .backgroundColor(Color.Yellow) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "2")) + + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(400) + .backgroundColor(Color.Green) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "3")) + } + .vertical(false) + .barMode(BarMode.Fixed) + .height('60%') + .barOverlap(true) + .scrollable(true) + .animationDuration(10) + .barBackgroundColor(this.barBackgroundColor) + } + .height(500) + .padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0310.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0310.ets new file mode 100644 index 00000000..8fb27f96 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0310.ets @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt0310 { + @State vertical: boolean = false; + build() { + Column({ space: 5 }) { + + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height(100).backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Pink')) + + TabContent() { + Column().width('100%').height(110).backgroundColor(Color.Yellow) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Yellow')) + + TabContent() { + Column().width('100%').height(120).backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Blue')) + + TabContent() { + Column().width('100%').height(130).backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Green')) + } + .vertical(this.vertical).scrollable(true).barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .height('auto') + .backgroundColor(0xF1F3F5); + + Button('设置').width('50%').margin({ top: 20 }) + .onClick(() => { + this.vertical = !this.vertical; + }).id('UIComponentNavTabsContentAdapt0310_001') + + }.width('100%').height(400) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt032.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt032.ets new file mode 100644 index 00000000..79e66eec --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt032.ets @@ -0,0 +1,119 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt032 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State tabVertical: boolean = false + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + } + } + + build() { + Column() { + Button('tab.vertical设置为true').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.tabVertical = !this.tabVertical + }).id('UIComponentNavTabsContentAdapt032_001') + + Tabs({ barPosition: BarPosition.Start, controller: this.controller, }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(50).width(50) + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(100).width(100) + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(150).width(150) + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(200).width(200) + }.tabBar(this.tabBuilder(3)) + } + .vertical(this.tabVertical) + .barHeight('auto') + .onChange((index: number) => { + this.currentIndex = index + }) + .width('auto') + .height('auto') + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + .padding('auto') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt033.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt033.ets new file mode 100644 index 00000000..d41ad152 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt033.ets @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct Index { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')); + @State symbolModifier2: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ellipsis_bubble')); + @State symbolModifier3: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.dot_video')); + @State symbolModifier4: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.exposure')); + + @State barPosition: BarPosition = BarPosition.Start // 新增状态以动态改变 barPosition + + build() { + Column({space: 5}) { + Text("底部页签样式") + Column(){ + Tabs({barPosition: this.barPosition}) { + TabContent() { + Column(){ + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 0, bottom: 6.5 }) + }.width('100%').height('auto').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + }, 'Pink')) + .onWillShow(() => { + console.info("Pink will show") + }) + .onWillHide(() => { + console.info("Pink will hide") + }) + + TabContent() { + Column(){ + Text('Tab_222') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 10, bottom: 16.5 }) + }.width('100%').height('auto').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier2, + }, 'Orange')) + .onWillShow(() => { + console.info("Orange will show") + }) + .onWillHide(() => { + console.info("Orange will hide") + }) + + TabContent() { + Column(){ + Text('Tab_333333') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 20, bottom: 26.5 }) + }.width('100%').height('auto').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier3, + }, 'Blue')) + .onWillShow(() => { + console.info("Blue will show") + }) + .onWillHide(() => { + console.info("Blue will hide") + }) + + TabContent() { + Column(){ + Text('Tab_444444444') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 36.5 }) + }.width('100%').height('auto').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier4, + }, 'Green')) + .onWillShow(() => { + console.info("Green will show") + }) + .onWillHide(() => { + console.info("Green will hide") + }) + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index:number)=>{ + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + + // 按钮用于切换 barPosition + Button('Toggle Bar Position') + .margin(5) + .onClick(() => { + // 切换 barPosition + this.barPosition = this.barPosition === BarPosition.Start ? BarPosition.End : BarPosition.Start; + console.info('Bar position changed to: ' + this.barPosition); + }) + .id('UIComponentNavTabs033_001') + + }.width('100%').height(200) + + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt034.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt034.ets new file mode 100644 index 00000000..80b50767 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt034.ets @@ -0,0 +1,131 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt034 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State tabWidth: string = 'auto' + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text('Tab') + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%').height('100%').justifyContent(FlexAlign.Center) + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(50) + }.tabBar(this.tabBuilder(0)) + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(100) + }.tabBar(this.tabBuilder(1)) + TabContent(){ + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(150) + }.tabBar(this.tabBuilder(2)) + TabContent(){ + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(250) + }.tabBar(this.tabBuilder(3)) + } + .vertical(true) + .barWidth(96) + .barHeight(414) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(this.tabWidth) + .height(414) + .backgroundColor('#F1F3F5') + .margin({ top: 52 }) + + Button('宽度设置为200').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.tabWidth = '200' + }).id('UIComponentNavTabsContentAdapt034_001') + + Button('宽度设置为-100').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.tabWidth = '-100' + }).id('UIComponentNavTabsContentAdapt034_002') + + Button('宽度设置为100%').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.tabWidth = '100%' + }).id('UIComponentNavTabsContentAdapt034_003') + + Button('宽度设置为auto').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.tabWidth = 'auto' + }).id('UIComponentNavTabsContentAdapt034_004') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt035.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt035.ets new file mode 100644 index 00000000..5dcf876c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt035.ets @@ -0,0 +1,134 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsContentAdapt035 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State tabHeight: string = 'auto' + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + } + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, controller: this.controller, }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(50) + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(100) + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(150) + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(200) + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .barHeight('auto') + .onChange((index: number) => { + this.currentIndex = index + }) + .width(500) + .height(this.tabHeight) + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + + Button('高度设置为200').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.tabHeight = '300' + }).id('UIComponentNavTabsContentAdapt035_001') + + Button('高度设置为-1').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.tabHeight = 'auto' + }).id('UIComponentNavTabsContentAdapt035_002') + + Button('高度设置为50%').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.tabHeight = '50%' + }).id('UIComponentNavTabsContentAdapt035_003') + + Button('高度设置为auto').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.tabHeight = '-1' + }).id('UIComponentNavTabsContentAdapt035_004') + + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsEdgeeffect/UIComponentNavTabsEdgeeffect0230.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsEdgeeffect/UIComponentNavTabsEdgeeffect0230.ets new file mode 100644 index 00000000..9334f81c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsEdgeeffect/UIComponentNavTabsEdgeeffect0230.ets @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsEdgeeffect0230 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsEdgeeffect/UIComponentNavTabsEdgeeffect0270.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsEdgeeffect/UIComponentNavTabsEdgeeffect0270.ets new file mode 100644 index 00000000..1c64ab4c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsEdgeeffect/UIComponentNavTabsEdgeeffect0270.ets @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsEdgeeffect0270 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(SubTabBarStyle.of('1')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(SubTabBarStyle.of('2')) + + } + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .barOverlap(true) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0010.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0010.ets new file mode 100644 index 00000000..9cd6c935 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0010.ets @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsExpandsafearea0010 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0020.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0020.ets new file mode 100644 index 00000000..5d35f376 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0020.ets @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsExpandsafearea0020 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Scroll(){ + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + } + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0030.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0030.ets new file mode 100644 index 00000000..a8bf8d37 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0030.ets @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsExpandsafearea0030 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Scroll(){ + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + .expandSafeArea([SafeAreaType.SYSTEM],[SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]) + } + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0040.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0040.ets new file mode 100644 index 00000000..bc633d62 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0040.ets @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsExpandsafearea0040 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Scroll(){ + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + .expandSafeArea([SafeAreaType.SYSTEM],[SafeAreaEdge.TOP]) + } + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0050.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0050.ets new file mode 100644 index 00000000..0093d68c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0050.ets @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsExpandsafearea0050 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Scroll(){ + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + .expandSafeArea([SafeAreaType.SYSTEM],[SafeAreaEdge.BOTTOM]) + } + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0060.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0060.ets new file mode 100644 index 00000000..f7106714 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0060.ets @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsExpandsafearea0060 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Scroll(){ + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + .expandSafeArea([SafeAreaType.SYSTEM],[SafeAreaEdge.START, SafeAreaEdge.END]) + } + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0070.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0070.ets new file mode 100644 index 00000000..9a3a0664 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0070.ets @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsExpandsafearea0070 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Scroll(){ + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + .expandSafeArea([SafeAreaType.SYSTEM],[SafeAreaEdge.START]) + } + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0080.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0080.ets new file mode 100644 index 00000000..90c44740 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0080.ets @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsExpandsafearea0080 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Scroll(){ + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + .expandSafeArea([SafeAreaType.SYSTEM],[SafeAreaEdge.END]) + } + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0090.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0090.ets new file mode 100644 index 00000000..e03fbf64 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0090.ets @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsExpandsafearea0090 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Scroll(){ + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + } + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0100.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0100.ets new file mode 100644 index 00000000..d1edb2fd --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0100.ets @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsExpandsafearea0100 { + @State currentIndex: number = 0 + @State simpleList: Array = ['1','2']; + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(title: string, targetIndex: number) { + Column() { + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center); + } + + build() { + Row() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + }.tabBar(this.tabBuilder(item, 1)) + }, (item: string) => item) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(200) + .backgroundColor('#F1F3F5') + .scrollable(true) + + Button('addTabs').width('50%').margin({ top: 20 }) + .onClick(() => { + for (let i = 2; i <= 2000; i++) { + console.log("addTabs=%d",i); + this.simpleList.push('a'); + this.simpleList.push(i.toString()); + } + }).id('UIComponentNavTabsImproTrace0140_001') + + Button('changeTabIndex').width('50%').margin({ top: 20 }) + .onClick(() => { + this.currentIndex = 3 + }).id('UIComponentNavTabsImproTrace0140_002') + } + .width('100%') + .height('100%') + + } + .height('100%') + .backgroundColor(0xF1F3F5) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0110.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0110.ets new file mode 100644 index 00000000..8b87aebe --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0110.ets @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsExpandsafearea0110 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Scroll(){ + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + } + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0120.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0120.ets new file mode 100644 index 00000000..c028a16c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0120.ets @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Entry +@Component +struct UIComponentNavTabsExpandsafearea0120 { + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + private controller: TabsController = new TabsController(); + + build() { + Column() { + Text('文本') + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Pink') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Pink }) + ) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_ic_public_text'), 'Black') + .labelStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + .iconStyle({ unselectedColor: Color.Red, selectedColor: Color.Black }) + ) + + } + .backgroundColor(Color.Green) + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .height('50%') + Text('文本') + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsHeight/UIComponentNavTabsHeight001.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsHeight/UIComponentNavTabsHeight001.ets new file mode 100644 index 00000000..fa19b6d2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsHeight/UIComponentNavTabsHeight001.ets @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsHeight001 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + } + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, controller: this.controller, }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(50) + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(100) + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(150) + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.height(200) + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .barHeight('auto') + .onChange((index: number) => { + this.currentIndex = index + }) + .width(500) + .height('auto') + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0010.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0010.ets new file mode 100644 index 00000000..359b549b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0010.ets @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsImproTrace0010 { + @State currentIndex: number = 0; + @State tabVertical: boolean = false; + @State direction1: Direction = Direction.Rtl; + @State simpleList: Array = ['1']; + private controller: TabsController = new TabsController(); + + @Builder + tabBuilder(title: string, targetIndex: number) { + Column() { + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center); + } + + aboutToAppear(): void { + for (let i = 2; i <= 10; i++) { + this.simpleList.push(i.toString()); + } + } + + build() { + Row() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + .height(100) + .width(100) + .backgroundColor('#FF0000') + .justifyContent(FlexAlign.Center); + }.tabBar(this.tabBuilder(item, 1)); + }, (item: string) => item) + } + .vertical(true) + .barMode(BarMode.Fixed) + .barWidth(60) + .barHeight(360) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index; + }) + .width(200) + .height('auto') + .backgroundColor('#F1F3F5') + .scrollable(true) + .direction(this.direction1); + } + .width('100%') + .height('100%'); + } + .height('100%') + .backgroundColor(0xF1F3F5); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0020.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0020.ets new file mode 100644 index 00000000..fef0a00a --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0020.ets @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsImproTrace0020 { + @State fontColor: string = '#182431'; + @State selectedFontColor: string = '#007DFF'; + @State currentIndex: number = 0; + @State selectedIndex: number = 0; + @State simpleList: Array = [1]; + private controller: TabsController = new TabsController(); + + @Builder + tabBuilder(index: number) { + Column() { + Image(this.selectedIndex === index ? $r("app.media.magnifier") : $r("app.media.tick")) + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index}`) + .fontColor(this.selectedIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%') + } + + build() { + Column() { + Button('addTabContents').width('50%').margin({ top: 20 }) + .onClick(() => { + for (let i = 2; i <= 5; i++) { + this.simpleList.push(i); + } + }).id('UIComponentNavTabsImproTrace0020_001'); + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + ForEach(this.simpleList, (item: number) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + .height(200) + .width(200) + .backgroundColor('#FF0000') + .justifyContent(FlexAlign.Center); + }.tabBar(this.tabBuilder(item)); + + }, (item: string) => item); + } + .vertical(false) + .barHeight(56) + .onChange((index: number) => { + this.currentIndex = index + }) + .onAnimationStart((index: number, targetIndex: number, event: TabsAnimationEvent) => { + if (index === targetIndex) { + return + } + this.selectedIndex = targetIndex + 1 + }) + .width(360) + .height(190) + .backgroundColor('#F1F3F5') + .margin({ top: 38 }); + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0030.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0030.ets new file mode 100644 index 00000000..327c620b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0030.ets @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsImproTrace0030 { + @State currentIndex: number = 0 + @State simpleList: Array = ['1']; + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(title: string, targetIndex: number) { + Column() { + Text(title) + }.width('100%') + .height(50) + .id(title) + .justifyContent(FlexAlign.Center); + } + + build() { + Row() { + Column() { + + Button('addTabContents').width('50%').margin({ top: 20 }) + .onClick(() => { + for (let i = 2; i <= 10; i++) { + this.simpleList.push(i.toString()); + } + }).id('UIComponentNavTabsImproTrace0030_001'); + + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + .height(200) + .width(200) + .backgroundColor('#FF0000') + .justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder(item, 1)); + }, (item: string) => item) + } + .vertical(false) + .barWidth(260) + .barMode(BarMode.Fixed) + .barHeight(100) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width('auto') + .height('300') + .backgroundColor('#F1F3F5') + .scrollable(true) + .id('UIComponentNavTabsImproTrace0030_002'); + } + .width('100%') + .height('100%'); + } + .height('100%') + .backgroundColor(0xF1F3F5); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0040.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0040.ets new file mode 100644 index 00000000..ce06fb0e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0040.ets @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsImproTrace0040 { + @State currentIndex: number = 0 + + @State simpleList: Array = ['1']; + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(title: string, targetIndex: number) { + Column() { + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center); + } + + build() { + Row() { + Column() { + + Button('addTabContents').width('50%').margin({ top: 20 }) + .onClick(() => { + for (let i = 2; i <= 10; i++) { + this.simpleList.push(i.toString()); + } + }).id('UIComponentNavTabsImproTrace0040_001'); + + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + .height(400) + .width(400) + .backgroundColor('#FF0000') + .justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder(item, 1)); + }, (item: string) => item) + } + .vertical(false) + .barWidth(360) + .barMode(BarMode.Scrollable) + .barHeight(100) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width('auto') + .height('500') + .backgroundColor('#F1F3F5') + .scrollable(true) + .id('UIComponentNavTabsImproTrace0040_002'); + } + .width('100%') + .height('100%'); + } + .height('100%') + .backgroundColor(0xF1F3F5); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0060.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0060.ets new file mode 100644 index 00000000..d94c02ea --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0060.ets @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsImproTrace0060 { + @State currentIndex: number = 0 + + @State simpleList: Array = ['1']; + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(title: string, targetIndex: number) { + Column() { + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center); + } + + build() { + Row() { + Column() { + + Button('addTabContents').width('50%').margin({ top: 20 }) + .onClick(() => { + for (let i = 2; i <= 10; i++) { + this.simpleList.push(i.toString()); + } + }).id('UIComponentNavTabsImproTrace0060_001'); + + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + .height(400) + .width(400) + .backgroundColor('#FF0000') + .justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder(item, 1)); + }, (item: string) => item) + } + .vertical(false) + .barWidth(360) + .barMode(BarMode.Scrollable) + .barHeight(100) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width('auto') + .height('500') + .backgroundColor('#F1F3F5') + .scrollable(true) + .id('UIComponentNavTabsImproTrace0060_002'); + } + .width('100%') + .height('100%'); + } + .height('100%') + .backgroundColor(0xF1F3F5); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0070.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0070.ets new file mode 100644 index 00000000..43658789 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0070.ets @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsImproTrace0070 { + @State currentIndex: number = 0 + @State simpleList: Array = ['1']; + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(title: string, targetIndex: number) { + Column() { + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center); + } + + build() { + Row() { + Column() { + + Button('addTabContents').width('50%').margin({ top: 20 }) + .onClick(() => { + for (let i = 2; i <= 10; i++) { + this.simpleList.push(i.toString()); + } + }).id('UIComponentNavTabsImproTrace0070_001'); + + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + .height(200) + .width(200) + .backgroundColor('#FF0000') + .justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder(item, 1)); + }, (item: string) => item) + } + .vertical(false) + .barWidth(260) + .barMode(BarMode.Scrollable) + .barHeight(100) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width('auto') + .height('300') + .backgroundColor('#F1F3F5') + .scrollable(true) + .id('UIComponentNavTabsImproTrace0070_002'); + } + .width('100%') + .height('100%'); + } + .height('100%') + .backgroundColor(0xF1F3F5); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0080.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0080.ets new file mode 100644 index 00000000..67062e5b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0080.ets @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsImproTrace0080 { + @State currentIndex: number = 0 + @State barWidth: string = '360' + @State barHeight: string = '60' + @State tabWidth: string = 'auto' + @State tabHeight: string = '200' + @State tabVertical: boolean = false + @State simpleList: Array = ['1']; + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(title: string, targetIndex: number) { + Column() { + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center); + } + + build() { + Row() { + Column() { + + Button('addTabContents').width('50%').margin({ top: 20 }) + .onClick(() => { + for (let i = 2; i <= 10; i++) { + this.simpleList.push(i.toString()); + } + }).id('UIComponentNavTabsImproTrace0080_001'); + + Button('横纵向切换').width('50%').margin({ top: 20 }) + .onClick(() => { + this.barWidth = '60' + this.barHeight = '360' + this.tabWidth = '200' + this.tabHeight = 'auto' + this.tabVertical = !this.tabVertical + }).id('UIComponentNavTabsImproTrace0080_002'); + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + .height(100) + .width(100) + .backgroundColor('#FF0000') + .justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder(item, 1)); + }, (item: string) => item) + } + .vertical(this.tabVertical) + .barMode(BarMode.Fixed) + .barWidth(this.barWidth) + .barHeight(this.barHeight) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(this.tabWidth) + .height(this.tabHeight) + .backgroundColor('#F1F3F5') + .scrollable(true) + + } + .width('100%') + .height('100%'); + } + .height('100%') + .backgroundColor(0xF1F3F5); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0120.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0120.ets new file mode 100644 index 00000000..1c0bb555 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0120.ets @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsImproTrace0120 { + @State currentIndex: number = 0 + @State tabContentWidth: number = 60 + @State tabContentHeight: number = 60 + @State simpleList: Array = ['1']; + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(title: string, targetIndex: number) { + Column() { + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center); + } + + build() { + Row() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + .height(this.tabContentHeight) + .width(this.tabContentWidth) + .backgroundColor('#FF0000') + .justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder(item, 1)); + }, (item: string) => item) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width('auto') + .height(200) + .backgroundColor('#F1F3F5') + .scrollable(true) + + Button('addTabContents').width('50%').margin({ top: 20 }) + .onClick(() => { + for (let i = 2; i <= 10; i++) { + this.simpleList.push(i.toString()); + } + }).id('UIComponentNavTabsImproTrace0120_001'); + + Button('增加宽和高').width('50%').margin({ top: 20 }) + .onClick(() => { + this.tabContentHeight = this.tabContentHeight + 10; + this.tabContentWidth = this.tabContentWidth + 10; + }).id('UIComponentNavTabsImproTrace0120_002'); + + } + .width('100%') + .height('100%'); + } + .height('100%') + .backgroundColor(0xF1F3F5); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0130.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0130.ets new file mode 100644 index 00000000..bfc06f4d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0130.ets @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsImproTrace0130 { + @State currentIndex: number = 0 + @State tabVertical: boolean = false + @State direction1: Direction = Direction.Rtl + @State simpleList: Array = ['1']; + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(title: string, targetIndex: number) { + Column() { + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center); + } + + build() { + Row() { + Column() { + + Button('addTabContents').width('50%').margin({ top: 20 }) + .onClick(() => { + for (let i = 2; i <= 10; i++) { + this.simpleList.push(i.toString()); + } + }).id('UIComponentNavTabsImproTrace0130_001'); + + Button('镜像切换').width('50%').margin({ top: 20 }) + .onClick(() => { + if (this.direction1 == Direction.Ltr) { + this.direction1 = Direction.Rtl; + } + else if (this.direction1 == Direction.Rtl) { + this.direction1 = Direction.Ltr; + } + }).id('UIComponentNavTabsImproTrace0130_002'); + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + .height(100) + .width(100) + .backgroundColor('#FF0000') + .justifyContent(FlexAlign.Center); + }.tabBar(this.tabBuilder(item, 1)); + }, (item: string) => item) + } + .vertical(true) + .barMode(BarMode.Fixed) + .barWidth(60) + .barHeight(360) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(200) + .height('auto') + .backgroundColor('#F1F3F5') + .scrollable(true) + .direction(this.direction1); + } + .width('100%') + .height('100%'); + } + .height('100%') + .backgroundColor(0xF1F3F5); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0140.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0140.ets new file mode 100644 index 00000000..1491994e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0140.ets @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsImproTrace0140 { + @State currentIndex: number = 0 + @State simpleList: Array = ['1']; + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(title: string, targetIndex: number) { + Column() { + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center); + } + + build() { + Row() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + }.tabBar(this.tabBuilder(item, 1)); + }, (item: string) => item) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(200) + .backgroundColor('#F1F3F5') + .scrollable(true); + + Button('addTabs').width('50%').margin({ top: 20 }) + .onClick(() => { + for (let i = 2; i <= 10; i++) { + this.simpleList.push(i.toString()); + } + }).id('UIComponentNavTabsImproTrace0140_001'); + + Button('changeTabIndex').width('50%').margin({ top: 20 }) + .onClick(() => { + this.controller.changeIndex(3) + }).id('UIComponentNavTabsImproTrace0140_002'); + } + .width('100%') + .height('100%'); + + } + .height('100%') + .backgroundColor(0xF1F3F5); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0150.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0150.ets new file mode 100644 index 00000000..daa7375e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0150.ets @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsImproTrace0150 { + @State currentIndex: number = 0 + @State simpleList: Array = ['1']; + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(title: string, targetIndex: number) { + Column() { + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center); + } + + build() { + Row() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + }.tabBar(this.tabBuilder(item, 1)); + }, (item: string) => item) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(200) + .backgroundColor('#F1F3F5') + .scrollable(true); + + Button('addTabs').width('50%').margin({ top: 20 }) + .onClick(() => { + for (let i = 2; i <= 10; i++) { + this.simpleList.push(i.toString()); + } + }).id('UIComponentNavTabsImproTrace0150_001'); + + Button('changeTabIndex').width('50%').margin({ top: 20 }) + .onClick(() => { + this.currentIndex = 3 + }).id('UIComponentNavTabsImproTrace0150_002'); + } + .width('100%') + .height('100%'); + + } + .height('100%') + .backgroundColor(0xF1F3F5); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0160.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0160.ets new file mode 100644 index 00000000..e02ef7cf --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0160.ets @@ -0,0 +1,235 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' +@Entry +@Component +struct UIComponentNavTabsImproTrace0160 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State tarBarMode: BarMode = BarMode.Scrollable + @State currentIndex: number = 0 + @State tarVertical: boolean = false + @State direction1: Direction = Direction.Rtl + @State gridMargin: number = 10 + @State gridGutter: number = 10 + @State sm: number = -2 + @State selectedIndex: number = 0 + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + @State symmetricExtensible: boolean = false; + @State layoutMode: LayoutMode = LayoutMode.VERTICAL; + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')); + @State symbolModifier2: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ellipsis_bubble')); + @State symbolModifier3: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.dot_video')); + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? $r("app.media.magnifier") : $r("app.media.tick")) + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text(`Tab${index + 1}`) + .fontColor(this.selectedIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%') + } + + @Builder + build() { + Column() { + Tabs({ barPosition: BarPosition.End, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({normal: this.symbolModifier1,}, "3") + .layoutMode(this.layoutMode) + .symmetricExtensible(this.symmetricExtensible)); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({normal: this.symbolModifier2,}, "4") + .layoutMode(this.layoutMode) + .symmetricExtensible(this.symmetricExtensible)); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({normal: this.symbolModifier3,}, "4") + .layoutMode(this.layoutMode) + .symmetricExtensible(this.symmetricExtensible)); + + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)) + + } + .divider({ + strokeWidth: 1, + color: Color.Red, + }) + + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(this.tarBarMode) + .barWidth(200) + .barHeight(200) + .vertical(this.tarVertical) + .margin('10vp') + .width('auto') + .height(396) + .fadingEdge(true) + .barGridAlign({ sm: this.sm, margin: this.gridMargin, gutter: this.gridGutter }) + .direction(this.direction1); + + Button('index改变').width('50%') + .onClick(() => { + this.currentIndex++; + if (this.currentIndex >= 6) { + this.currentIndex = 0; + } + }).id('UIComponentNavTabsImproTrace0160_001'); + + Button('方向改变').width('50%') + .onClick(() => { + this.tarVertical = !this.tarVertical + }).id('UIComponentNavTabsImproTrace0160_002'); + + Button('barMode改变').width('50%') + .onClick(() => { + if (this.tarBarMode == BarMode.Scrollable) { + this.tarBarMode = BarMode.Fixed + } + else { + this.tarBarMode = BarMode.Scrollable + } + }).id('UIComponentNavTabsImproTrace0160_003'); + Button('镜像改变').width('50%') + .onClick(()=>{ + if(this.direction1 == Direction.Ltr) + { + this.direction1 = Direction.Rtl + } + else if(this.direction1 == Direction.Rtl) + { + this.direction1 = Direction.Ltr + } + }).id('UIComponentNavTabsImproTrace0160_004') + + Button('barGridAlign改变').width('50%') + .onClick(()=>{ + this.gridMargin += 10 + }).id('UIComponentNavTabsImproTrace0160_005') + + Button('gridGutter改变').width('50%') + .onClick(()=>{ + this.gridGutter += 10 + }).id('UIComponentNavTabsImproTrace0160_006') + + Button('sm改变').width('50%') + .onClick(()=>{ + this.sm += 2; + if(this.sm>=8) + { + this.sm = -2; + } + }).id('UIComponentNavTabsImproTrace0160_007') + + Button('symmetricExtensible改变').width('50%') + .onClick(()=>{ + this.symmetricExtensible = !this.symmetricExtensible + }).id('UIComponentNavTabsImproTrace0160_008') + + Button('layoutMode改变').width('50%') + .onClick(()=>{ + if(this.layoutMode == LayoutMode.VERTICAL) + { + this.layoutMode = LayoutMode.HORIZONTAL; + } + else if(this.layoutMode == LayoutMode.HORIZONTAL) + { + this.layoutMode = LayoutMode.VERTICAL; + } + }).id('UIComponentNavTabsImproTrace0160_009') + + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0010.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0010.ets new file mode 100644 index 00000000..e00858bd --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0010.ets @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsInterception0010 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + @Builder tabBuilder(title: string,targetIndex: number) { + Column(){ + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center) + } + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + TabContent() { + Column(){ + Text('首页的内容') + }.width('100%').height('100%').backgroundColor('#00CB87').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('首页',0)) + + TabContent() { + Column(){ + Text('发现的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('发现',1)) + + TabContent() { + Column(){ + Text('推荐的内容') + }.width('100%').height('100%').backgroundColor('#FFBF00').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('推荐',2)) + + TabContent() { + Column(){ + Text('我的内容') + }.width('100%').height('100%').backgroundColor('#E67C92').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('我的',3)) + + TabContent() { + Column(){ + Text('他的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('他的',4)) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .id('UIComponentNavTabsInterception0010_001') + .width(360) + .height(600) + .backgroundColor('#F1F3F5') + .scrollable(true) + .onContentWillChange((currentIndex, comingIndex) => { + if (currentIndex == 2 && comingIndex == 3) + { + return false + } + else + { + return true + } + + }) + Button('changeIndex').width('50%').margin({ top: 20 }) + .onClick(()=>{ + if(this.currentIndex==0) { + this.currentIndex = 2 + } + else + { + this.currentIndex = 0 + } + }).id('UIComponentNavTabsInterception0010_002') + + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0030.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0030.ets new file mode 100644 index 00000000..f7c811d7 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0030.ets @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsInterception0030 { + @State currentIndex: number = 3 + private controller: TabsController = new TabsController() + @Builder tabBuilder(title: string,targetIndex: number) { + Column(){ + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center) + } + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + TabContent() { + Column(){ + Text('首页的内容') + }.width('100%').height('100%').backgroundColor('#00CB87').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('首页',0)) + + TabContent() { + Column(){ + Text('发现的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('发现',1)) + + TabContent() { + Column(){ + Text('推荐的内容') + }.width('100%').height('100%').backgroundColor('#FFBF00').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('推荐',2)) + + TabContent() { + Column(){ + Text('我的内容') + }.width('100%').height('100%').backgroundColor('#E67C92').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('我的',3)) + + TabContent() { + Column(){ + Text('他的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('他的',4)) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .id('UIComponentNavTabsInterception0030_001') + .width(360) + .height(600) + .backgroundColor('#F1F3F5') + .scrollable(true) + .onContentWillChange((currentIndex, comingIndex) => { + if (comingIndex == 3) + { + return true + } + else + { + return true + } + + }) + Button('changeIndex2').width('50%').margin({ top: 20 }) + .onClick(()=>{ + this.currentIndex = 2 + }).id('UIComponentNavTabsInterception0030_002') + + Button('changeIndex4').width('50%').margin({ top: 20 }) + .onClick(()=>{ + this.currentIndex = 4 + }).id('UIComponentNavTabsInterception0030_004') + + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0040.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0040.ets new file mode 100644 index 00000000..27cbd8dc --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0040.ets @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsInterception0040 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + @Builder tabBuilder(title: string,targetIndex: number) { + Column(){ + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center) + } + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + TabContent() { + Column(){ + Text('首页的内容') + }.width('100%').height('100%').backgroundColor('#00CB87').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('首页',0)) + + TabContent() { + Column(){ + Text('发现的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('发现',1)) + + TabContent() { + Column(){ + Text('推荐的内容') + }.width('100%').height('100%').backgroundColor('#FFBF00').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('推荐',2)) + + TabContent() { + Column(){ + Text('我的内容') + }.width('100%').height('100%').backgroundColor('#E67C92').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('我的',3)) + + TabContent() { + Column(){ + Text('他的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('他的',4)) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(600) + .backgroundColor('#F1F3F5') + .scrollable(true) + .onContentWillChange((currentIndex, comingIndex) => { + if (comingIndex == 3) { + return false + } + return true + }) + Button('changeIndex').width('50%').margin({ top: 20 }) + .onClick(()=>{ + this.controller.changeIndex(3) + }).id('UIComponentNavTabsInterception0040_001') + + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0050.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0050.ets new file mode 100644 index 00000000..bea663c9 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0050.ets @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsInterception0050 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + @Builder tabBuilder(title: string,targetIndex: number) { + Column(){ + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center) + } + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + TabContent() { + Column(){ + Text('首页的内容') + }.width('100%').height('100%').backgroundColor('#00CB87').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('首页',0)) + + TabContent() { + Column(){ + Text('发现的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('发现',1)) + + TabContent() { + Column(){ + Text('推荐的内容') + }.width('100%').height('100%').backgroundColor('#FFBF00').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('推荐',2)) + + TabContent() { + Column(){ + Text('我的内容') + }.width('100%').height('100%').backgroundColor('#E67C92').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('我的',3)) + + TabContent() { + Column(){ + Text('他的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('他的',4)) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(600) + .backgroundColor('#F1F3F5') + .scrollable(true) + .onContentWillChange((currentIndex, comingIndex) => { + if (comingIndex == 3) { + return true + } + return true + }) + Button('changeIndex').width('50%').margin({ top: 20 }) + .onClick(()=>{ + this.controller.changeIndex(3) + }).id('UIComponentNavTabsInterception0050_001') + + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0060.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0060.ets new file mode 100644 index 00000000..009cf1a3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0060.ets @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsInterception0060 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + @Builder tabBuilder(title: string,targetIndex: number) { + Column(){ + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center) + } + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + TabContent() { + Column(){ + Text('首页的内容') + }.width('100%').height('100%').backgroundColor('#00CB87').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('首页',0)) + + TabContent() { + Column(){ + Text('发现的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('发现',1)) + + TabContent() { + Column(){ + Text('推荐的内容') + }.width('100%').height('100%').backgroundColor('#FFBF00').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('推荐',2)) + + TabContent() { + Column(){ + Text('我的内容') + }.width('100%').height('100%').backgroundColor('#E67C92').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('我的',3)) + + TabContent() { + Column(){ + Text('他的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('他的',4)) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(600) + .backgroundColor('#F1F3F5') + .scrollable(true) + .onContentWillChange((currentIndex, comingIndex) => { + if (comingIndex == 3) { + return false + } + return true + }) + Button('changeIndex').width('50%').margin({ top: 20 }) + .onClick(()=>{ + this.currentIndex = 3 + }).id('UIComponentNavTabsInterception0060_001') + + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0070.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0070.ets new file mode 100644 index 00000000..8c1fb94e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0070.ets @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsInterception0070 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + @Builder tabBuilder(title: string,targetIndex: number) { + Column(){ + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center) + } + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + TabContent() { + Column(){ + Text('首页的内容') + }.width('100%').height('100%').backgroundColor('#00CB87').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('首页',0)) + + TabContent() { + Column(){ + Text('发现的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('发现',1)) + + TabContent() { + Column(){ + Text('推荐的内容') + }.width('100%').height('100%').backgroundColor('#FFBF00').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('推荐',2)) + + TabContent() { + Column(){ + Text('我的内容') + }.width('100%').height('100%').backgroundColor('#E67C92').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('我的',3)) + + TabContent() { + Column(){ + Text('他的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('他的',4)) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(600) + .backgroundColor('#F1F3F5') + .scrollable(true) + .onContentWillChange((currentIndex, comingIndex) => { + if (comingIndex == 3) { + return true + } + return true + }) + Button('changeIndex').width('50%').margin({ top: 20 }) + .onClick(()=>{ + this.currentIndex = 3 + }).id('UIComponentNavTabsInterception0070_001') + + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0080.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0080.ets new file mode 100644 index 00000000..792b4b18 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0080.ets @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsInterception0080 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + @Builder tabBuilder(title: string,targetIndex: number) { + Column(){ + Text(title) + }.width('100%') + .height(50) + .id(title) + .justifyContent(FlexAlign.Center) + } + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + TabContent() { + Column(){ + Text('首页的内容') + }.width('100%').height('100%').backgroundColor('#00CB87').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('首页',0)) + + TabContent() { + Column(){ + Text('发现的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('发现',1)) + + TabContent() { + Column(){ + Text('推荐的内容') + }.width('100%').height('100%').backgroundColor('#FFBF00').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('推荐',2)) + + TabContent() { + Column(){ + Text('我的内容') + }.width('100%').height('100%').backgroundColor('#E67C92').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('我的',3)) + + TabContent() { + Column(){ + Text('他的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('他的',4)) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + console.error(`onChange() this.currentIndex = ${index}`); + this.currentIndex = index + }).id('UIComponentNavTabsInterception0080_001') + .width(360) + .height(600) + .backgroundColor('#F1F3F5') + .scrollable(true) + .onContentWillChange((currentIndex, comingIndex) => { + if (comingIndex == 3) { + return false + } + return true + }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0090.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0090.ets new file mode 100644 index 00000000..2aada3d3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0090.ets @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsInterception0090 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + @Builder tabBuilder(title: string,targetIndex: number) { + Column(){ + Text(title) + }.width('100%') + .height(50) + .id(title) + .justifyContent(FlexAlign.Center) + } + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + TabContent() { + Column(){ + Text('首页的内容') + }.width('100%').height('100%').backgroundColor('#00CB87').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('首页',0)) + + TabContent() { + Column(){ + Text('发现的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('发现',1)) + + TabContent() { + Column(){ + Text('推荐的内容') + }.width('100%').height('100%').backgroundColor('#FFBF00').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('推荐',2)) + + TabContent() { + Column(){ + Text('我的内容') + }.width('100%').height('100%').backgroundColor('#E67C92').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('我的',3)) + + TabContent() { + Column(){ + Text('他的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('他的',4)) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + console.error(`onChange() this.currentIndex = ${index}`); + this.currentIndex = index + }).id('UIComponentNavTabsInterception0090_001') + .width(360) + .height(600) + .backgroundColor('#F1F3F5') + .scrollable(true) + .onContentWillChange((currentIndex, comingIndex) => { + if (comingIndex == 3) { + return true + } + return true + }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0130.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0130.ets new file mode 100644 index 00000000..2b28ef29 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0130.ets @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsInterception0130 { + @State currentIndex: number = 2 + private controller: TabsController = new TabsController() + @Builder tabBuilder(title: string,targetIndex: number) { + Column(){ + Text(title).fontColor(this.currentIndex === targetIndex ? '#1698CE' : '#6B6B6B') + }.width('100%') + .height(50) + + .justifyContent(FlexAlign.Center) + + } + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + TabContent() { + Column(){ + Text('首页的内容') + }.width('100%').height('100%').backgroundColor('#00CB87').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('首页',0)) + + TabContent() { + Column(){ + Text('发现的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('发现',1)) + + TabContent() { + Column(){ + Text('推荐的内容') + }.width('100%').height('100%').backgroundColor('#FFBF00').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('推荐',2)) + + TabContent() { + Column(){ + Text('我的内容') + }.width('100%').height('100%').backgroundColor('#E67C92').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('我的',3)) + + TabContent() { + Column(){ + Text('他的内容') + }.width('100%').height('100%').backgroundColor('#007DFF').justifyContent(FlexAlign.Center) + }.tabBar(this.tabBuilder('他的',4)) + } + + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(600) + .backgroundColor('#F1F3F5') + .scrollable(true) + .onContentWillChange((currentIndex, comingIndex) => { + if (comingIndex == 3) { + return false + } + return true + }).id('UIComponentNavTabsInterception0130_001') + + + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0150.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0150.ets new file mode 100644 index 00000000..48d7cabb --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0150.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsInterception0150 { + @State simpleList: Array = ['one', 'two', 'three', 'four', 'five']; + + build() { + Row() { + Column() { + Tabs({ barPosition: BarPosition.End, }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + }.tabBar(item) + }, (item: string) => item) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onContentWillChange((currentIndex, comingIndex) => { + if (comingIndex == 3) { + return false; + } + return true; + }) + .width(360) + .height(200) + .backgroundColor('#F1F3F5') + .scrollable(true) + + Button('delTabContent').width('50%').margin({ top: 20 }) + .onClick(() => { + this.simpleList.pop(); + }).id('UIComponentNavTabsInterception0150_001') + + Button('addTabContent').width('50%').margin({ top: 20 }) + .onClick(() => { + this.simpleList.push('five'); + }).id('UIComponentNavTabsInterception0150_002') + } + .width('100%') + .height('100%') + + } + .height('100%') + .backgroundColor(0xF1F3F5) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface012.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface012.ets new file mode 100644 index 00000000..5dd52beb --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface012.ets @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsInterface012 { + @State message: string = 'Hello World' + private controller: TabsController = new TabsController() + private controller1: TabsController = new TabsController() + + build() { + Column() { + + Tabs({ barPosition: BarPosition.End, index: 0, controller: this.controller }) { + TabContent() { + Column().width(200).height('100%').backgroundColor(Color.Pink) + }.tabBar('pink111111111111111111111111111111111111111') + + TabContent() { + Column().width(250).height('100%').backgroundColor(Color.Yellow) + }.tabBar('yellow222222222222222222222222222222') + + TabContent() { + Column().width(300).height('100%').backgroundColor(Color.Blue) + }.tabBar('blue33333333333333333333333333333333') + + TabContent() { + Column().width(300).height('100%').backgroundColor(Color.Green) + }.tabBar('green444444444444444444444444444') + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Scrollable) + .barHeight(80) + .barWidth(400) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('30%') + .width(200) + + } + .padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface1190.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface1190.ets new file mode 100644 index 00000000..c8255774 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface1190.ets @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsInterface1190 { + @State currentIndex: number = 0; + @State seq: number = 1; + @State simpleList: Array = ['1']; + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(title: string, targetIndex: number) { + Column() { + Text(title) + }.width('100%') + .height(50) + .justifyContent(FlexAlign.Center); + } + + build() { + Row() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller, index: this.currentIndex }) { + ForEach(this.simpleList, (item: string) => { + TabContent() { + Column() { + Text(`Content:${item}`) + } + }.tabBar(this.tabBuilder(item, 1)); + }, (item: string) => item) + } + .vertical(false) + .barMode(BarMode.Fixed) + .barWidth(360) + .barHeight(60) + .animationDuration(0) + .onChange((index: number) => { + this.currentIndex = index + }) + .width(360) + .height(200) + .backgroundColor('#F1F3F5') + .scrollable(true); + + Button('addTabar').width('50%').margin({ top: 20 }) + .onClick(() => { + this.seq += 1 + this.simpleList.push(this.seq.toString()); + this.currentIndex = this.simpleList.length - 1 + }).id('UIComponentNavTabsInterface1190_001'); + + } + .width('100%') + .height('100%'); + + } + .height('100%') + .backgroundColor(0xF1F3F5); + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface1220.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface1220.ets new file mode 100644 index 00000000..46241a05 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface1220.ets @@ -0,0 +1,116 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsInterface1220 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State selectedIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Text(`Tab${index + 1}`) + .fontColor(this.selectedIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.id('UIComponentNavTabsInterface1220_001').width('100%') + }.tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('Tab2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('Tab3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('Tab4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ top: 30, bottom: 56.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width('100%') + }.tabBar(this.tabBuilder(3)) + } + .vertical(false) + .barHeight(56) + .onChange((index: number) => { + // currentIndex控制TabContent显示页签 + this.currentIndex = index + }) + .onAnimationStart((index: number, targetIndex: number, event: TabsAnimationEvent) => { + if (index === targetIndex) { + return + } + // selectedIndex控制自定义TabBar内Image和Text颜色切换 + this.selectedIndex = targetIndex + }) + .width(360) + .height(190) + .backgroundColor('#F1F3F5') + .margin({ top: 38 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0030.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0030.ets new file mode 100644 index 00000000..e960dc29 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0030.ets @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsMirror0030 { + private controller: TabsController = new TabsController() + @State barOverlap: boolean = true; + @State barBackgroundColor: string = '#88888888'; + @State direction1: Direction = Direction.Rtl + build() { + Column() { + Button('方向改变').width('50%').margin({ top: 20 }) + .onClick(()=>{ + if(this.direction1 == Direction.Ltr) + { + this.direction1 = Direction.Rtl + } + else if(this.direction1 == Direction.Rtl) + { + this.direction1 = Direction.Ltr + } + }).id('UIComponentNavTabsMirror0030_001') + Tabs({ barPosition: BarPosition.Start, index: 2, controller: this.controller }) { + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(200) + .backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "1")) + + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(300) + .backgroundColor(Color.Yellow) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "2")) + + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(400) + .backgroundColor(Color.Green) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "3")) + } + .vertical(true) + .barMode(BarMode.Fixed) + .height('60%') + .barOverlap(true) + .scrollable(true) + .direction(this.direction1) + .animationDuration(10) + .barBackgroundColor(this.barBackgroundColor) + } + .height(500) + .padding({ top: '24vp', left: '24vp', right: '24vp' }) + + + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0070.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0070.ets new file mode 100644 index 00000000..596ee6ea --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0070.ets @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsMirror0070 { + private controller: TabsController = new TabsController() + @State barOverlap: boolean = true; + @State barBackgroundColor: string = '#88888888'; + @State direction1: Direction = Direction.Rtl + build() { + Column() { + Button('方向改变').width('50%').margin({ top: 20 }) + .onClick(()=>{ + if(this.direction1 == Direction.Ltr) + { + this.direction1 = Direction.Rtl + } + else if(this.direction1 == Direction.Rtl) + { + this.direction1 = Direction.Ltr + } + }).id('UIComponentNavTabsMirror0070_001') + Tabs({ barPosition: BarPosition.Start, index: 2, controller: this.controller }) { + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(200) + .backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "1")) + + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(300) + .backgroundColor(Color.Yellow) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "2")) + + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(400) + .backgroundColor(Color.Green) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "3")) + } + .vertical(true) + .barMode(BarMode.Fixed) + .height('60%') + .barOverlap(true) + .scrollable(true) + .direction(this.direction1) + .animationDuration(10) + .barBackgroundColor(this.barBackgroundColor) + } + .height(500) + .padding({ top: '24vp', left: '24vp', right: '24vp' }) + + + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0090.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0090.ets new file mode 100644 index 00000000..8ad90cd1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0090.ets @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsMirror0090 { + private controller: TabsController = new TabsController() + @State barOverlap: boolean = true; + @State barBackgroundColor: string = '#88888888'; + @State direction1: Direction = Direction.Rtl + build() { + Column() { + Button('方向改变').width('50%').margin({ top: 20 }) + .onClick(()=>{ + if(this.direction1 == Direction.Ltr) + { + this.direction1 = Direction.Rtl + } + else if(this.direction1 == Direction.Rtl) + { + this.direction1 = Direction.Ltr + } + }).id('UIComponentNavTabsMirror0090_001') + Tabs({ barPosition: BarPosition.Start, index: 2, controller: this.controller }) { + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(200) + .backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "1")) + + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(300) + .backgroundColor(Color.Yellow) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "2")) + + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(400) + .backgroundColor(Color.Green) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "3")) + } + .vertical(false) + .barMode(BarMode.Fixed) + .height('60%') + .barOverlap(true) + .scrollable(true) + .direction(this.direction1) + .animationDuration(10) + .barBackgroundColor(this.barBackgroundColor) + } + .height(500) + .padding({ top: '24vp', left: '24vp', right: '24vp' }) + + + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror010.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror010.ets new file mode 100644 index 00000000..3df89e54 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror010.ets @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsMirror010 { + private controller: TabsController = new TabsController() + @State barOverlap: boolean = true; + @State barBackgroundColor: string = '#88888888'; + @State direction1: Direction = Direction.Rtl + build() { + Column() { + Button('方向改变').width('50%').margin({ top: 20 }) + .onClick(()=>{ + if(this.direction1 == Direction.Ltr) + { + this.direction1 = Direction.Rtl + } + else if(this.direction1 == Direction.Rtl) + { + this.direction1 = Direction.Ltr + } + }).id('UIComponentNavTabsMirror010_001') + Tabs({ barPosition: BarPosition.Start, index: 2, controller: this.controller }) { + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(200) + .backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "1")) + + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(300) + .backgroundColor(Color.Yellow) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "2")) + + TabContent() { + Column() { + Text(`barOverlap ${this.barOverlap}`).fontSize(16).margin({ top: this.barOverlap ? '56vp' : 0 }) + Text(`barBackgroundColor ${this.barBackgroundColor}`).fontSize(16) + }.width('100%').width('100%').height(400) + .backgroundColor(Color.Green) + } + .tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), "3")) + } + .vertical(true) + .barMode(BarMode.Fixed) + .height('60%') + .barOverlap(true) + .scrollable(true) + .direction(this.direction1) + .animationDuration(10) + .barBackgroundColor(this.barBackgroundColor) + } + .height(500) + .padding({ top: '24vp', left: '24vp', right: '24vp' }) + + + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0110.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0110.ets new file mode 100644 index 00000000..6730b972 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0110.ets @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' +@Entry +@Component +struct UIComponentNavTabsMirror0110 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State tarBarMode: BarMode = BarMode.Scrollable + @State currentIndex: number = 0 + @State tarVertical: boolean = false + @State direction1: Direction = Direction.Rtl + @State selectedIndex: number = 0 + @State selectedMode: SelectedMode = SelectedMode.INDICATOR; + private controller: TabsController = new TabsController() + + @Builder + build() { + Column() { + Button('镜像改变').width('50%') + .onClick(()=>{ + if(this.direction1 == Direction.Ltr) + { + this.direction1 = Direction.Rtl + } + else if(this.direction1 == Direction.Rtl) + { + this.direction1 = Direction.Ltr + } + }).id('UIComponentNavTabsMirror0110_001') + + Tabs({ barPosition: BarPosition.End, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Pink }) + .selectedMode(this.selectedMode)); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Yellow }) + .selectedMode(this.selectedMode)); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Blue }) + .selectedMode(this.selectedMode)); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green') + .labelStyle({ unselectedColor: Color.Black, selectedColor: Color.Green }) + .selectedMode(this.selectedMode)); + } + .divider({ + strokeWidth: 1, + color: Color.Red, + }) + .backgroundColor(0xF5F5F5) + .barOverlap(true) + .barMode(this.tarBarMode) + .barWidth(200) + .barHeight(200) + .vertical(true) + .margin('10vp') + .width('auto') + .height(396) + .fadingEdge(true) + .direction(this.direction1); + + }.width('100%') + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0120.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0120.ets new file mode 100644 index 00000000..b6fb793b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0120.ets @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsMirror0120 { + @State direction1: Direction = Direction.Rtl; + + build() { + Column({ space: 5 }) { + + Text("侧边页签样式") + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Yellow')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Green')); + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()); + }) + .width('100%') + .backgroundColor(0xF1F3F5) + .direction(this.direction1); + Button('镜像改变').width('50%') + .onClick(() => { + if (this.direction1 == Direction.Ltr) { + this.direction1 = Direction.Rtl; + } + else if (this.direction1 == Direction.Rtl) { + this.direction1 = Direction.Ltr; + } + }).id('UIComponentNavTabsMirror0120_001'); + + }.width('100%').height(400) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0130.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0130.ets new file mode 100644 index 00000000..02c75d2f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0130.ets @@ -0,0 +1,90 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsMirror0130 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + @State selectedIndex: number = 0 + @State direction1: Direction = Direction.Rtl; + private controller: TabsController = new TabsController() + + @Builder + tabBuilder(index: number) { + Column() { + Text(`Tab${index}`) + .fontColor(this.selectedIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(20) + .fontWeight(500) + .lineHeight(200) + }.width('100%') + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { + TabContent() { + Column() { + Text('TabContent0') + }.width('100%') + } + .tabBar(this.tabBuilder(0)) + + TabContent() { + Column() { + Text('TabContent1') + }.width('100%') + } + .tabBar(this.tabBuilder(1)) + + TabContent() { + Column() { + Text('TabContent2') + }.width('100%') + } + .tabBar(this.tabBuilder(2)) + + TabContent() { + Column() { + Text('TabContent3') + }.width('100%') + } + .tabBar(this.tabBuilder(3)) + } + .vertical(true) + .barWidth(200) + .barHeight(200) + .barMode(BarMode.Scrollable) + .scrollable(true) + .direction(this.direction1) + .width(400) + .height(200) + .backgroundColor('#F1F3F5') + .margin({ top: 52 }); + + Button('镜像改变').width('50%') + .onClick(() => { + if (this.direction1 == Direction.Ltr) { + this.direction1 = Direction.Rtl; + } + else if (this.direction1 == Direction.Rtl) { + this.direction1 = Direction.Ltr; + } + }).id('UIComponentNavTabsMirror0130_001'); + + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0140.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0140.ets new file mode 100644 index 00000000..d7466e40 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0140.ets @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsMirror0140 { + @State direction1: Direction = Direction.Rtl; + + build() { + Column({ space: 5 }) { + + Text("侧边页签样式") + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Yellow')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Green')); + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()); + }) + .width('100%') + .backgroundColor(0xF1F3F5) + .direction(this.direction1); + Button('镜像改变').width('50%') + .onClick(() => { + if (this.direction1 == Direction.Ltr) { + this.direction1 = Direction.Rtl; + } + else if (this.direction1 == Direction.Rtl) { + this.direction1 = Direction.Ltr; + } + }).id('UIComponentNavTabsMirror0140_001'); + + }.width('100%').height(400) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0150.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0150.ets new file mode 100644 index 00000000..82ff2997 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0150.ets @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsMirror0150 { + @State direction1: Direction = Direction.Rtl; + @State tabPadding: number = 0; + + build() { + Column({ space: 5 }) { + + Text("侧边页签样式") + Column({ space: 5 }) { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Pink').padding(this.tabPadding)); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Yellow').padding(this.tabPadding)); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Blue').padding(this.tabPadding)); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Green').padding(this.tabPadding)); + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .direction(this.direction1) + .backgroundColor(0xF1F3F5); + + Button('镜像改变').width('50%') + .onClick(() => { + if (this.direction1 == Direction.Ltr) { + this.direction1 = Direction.Rtl; + } + else if (this.direction1 == Direction.Rtl) { + this.direction1 = Direction.Ltr; + } + }).id('UIComponentNavTabsMirror0150_001'); + + Button('padding改变').width('50%') + .onClick(() => { + this.tabPadding = this.tabPadding+5; + }).id('UIComponentNavTabsMirror0150_002'); + }.width('100%').height(400); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0160.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0160.ets new file mode 100644 index 00000000..5e46741b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0160.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsMirror0160 { + @State direction1: Direction = Direction.Rtl; + + build() { + Column({ space: 5 }) { + + Text("侧边页签样式") + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Yellow')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle($r('sys.media.ohos_app_icon'), 'Green')) + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + .direction(this.direction1); + + Button('镜像改变').width('50%') + .onClick(() => { + if (this.direction1 == Direction.Ltr) { + this.direction1 = Direction.Rtl + } + else if (this.direction1 == Direction.Rtl) { + this.direction1 = Direction.Ltr + } + }).id('UIComponentNavTabsMirror0160_001'); + + }.width('100%').height(400) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0250.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0250.ets new file mode 100644 index 00000000..371a56d4 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0250.ets @@ -0,0 +1,106 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { webview } from '@kit.ArkWeb'; +@Entry +@Component +struct UIComponentNavTabsMirror0250 { + controller: webview.WebviewController = new webview.WebviewController(); + @State fontColor: string = '#182431'; + @State selectedFontColor: string = '#007DFF'; + @State currentIndex: number = 0; + @State selectedIndex: number = 0; + @State direction1: Direction = Direction.Rtl; + @State arr: String[] = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10']; + + @Builder tabBuilder(index: number) { + Column() { + Text(`Tab${index}`) + .fontColor(this.selectedIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.id(`Tab${index}`).width('100%') + } + + build() { + Column({ space: 5 }) { + + Text("侧边页签样式") + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column() { + Text('www.sohu.com'); + Web({ src: 'www.sohu.com', controller: this.controller }) + .fileAccess(true); + } + .width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(this.tabBuilder(0)); + + TabContent() { + Column() { + Text('www.sina.com'); + Web({ src: 'www.sina.com', controller: this.controller }) + .fileAccess(true); + }.width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(this.tabBuilder(1)); + + TabContent() { + Column() { + Text('www.baidu.com'); + Web({ src: 'www.baidu.com', controller: this.controller }) + .fileAccess(true); + }.width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder(2)); + + TabContent() { + Column() { + Text('www.jd.com'); + Web({ src: 'www.jd.com', controller: this.controller }) + .fileAccess(true); + }.width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(this.tabBuilder(3)); + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .onAnimationStart((index: number, targetIndex: number, event: TabsAnimationEvent) => { + if (index === targetIndex) { + return + } + // selectedIndex控制自定义TabBar内Image和Text颜色切换 + this.selectedIndex = targetIndex + }) + .width('100%') + .backgroundColor(0xF1F3F5) + .direction(this.direction1); + + Button('镜像改变').width('50%') + .onClick(() => { + if (this.direction1 == Direction.Ltr) { + this.direction1 = Direction.Rtl + } + else if (this.direction1 == Direction.Rtl) { + this.direction1 = Direction.Ltr + } + }).id('UIComponentNavTabsMirror0250_001') + + }.width('100%').height(400) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0260.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0260.ets new file mode 100644 index 00000000..575ea277 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0260.ets @@ -0,0 +1,180 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsMirror0260 { + @State fontColor: string = '#182431'; + @State selectedFontColor: string = '#007DFF'; + @State currentIndex: number = 0; + @State selectedIndex: number = 0; + @State direction1: Direction = Direction.Rtl; + @State arr: String[] = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10']; + + @Builder tabBuilder(index: number) { + Column() { + Text(`Tab${index}`) + .fontColor(this.selectedIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.id(`Tab${index}`).width('100%') + } + + build() { + Column({ space: 5 }) { + + Text("侧边页签样式") + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column() { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%') + .height(80) + .fontSize(16) + .margin(10) + .id('' + item) + .textAlign(TextAlign.Center) + .borderRadius(10) + .backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(this.tabBuilder(0)); + + TabContent() { + Column() { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%') + .height(80) + .fontSize(16) + .margin(10) + .id('' + item) + .textAlign(TextAlign.Center) + .borderRadius(10) + .backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + }.width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(this.tabBuilder(1)); + + TabContent() { + Column() { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%') + .height(80) + .fontSize(16) + .margin(10) + .id('' + item) + .textAlign(TextAlign.Center) + .borderRadius(10) + .backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + }.width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder(2)); + + TabContent() { + Column() { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%') + .height(80) + .fontSize(16) + .margin(10) + .id('' + item) + .textAlign(TextAlign.Center) + .borderRadius(10) + .backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + }.width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(this.tabBuilder(3)); + } + .vertical(true) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .onAnimationStart((index: number, targetIndex: number, event: TabsAnimationEvent) => { + if (index === targetIndex) { + return + } + // selectedIndex控制自定义TabBar内Image和Text颜色切换 + this.selectedIndex = targetIndex + }) + .width('100%') + .backgroundColor(0xF1F3F5) + .direction(this.direction1); + + Button('镜像改变').width('50%') + .onClick(() => { + if (this.direction1 == Direction.Ltr) { + this.direction1 = Direction.Rtl + } + else if (this.direction1 == Direction.Rtl) { + this.direction1 = Direction.Ltr + } + }).id('UIComponentNavTabsMirror0260_001') + + }.width('100%').height(400) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror080.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror080.ets new file mode 100644 index 00000000..4975aa80 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror080.ets @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsMirror080 { + private controller1: TabsController = new TabsController() + @State dividerColor: string = 'blue' + @State strokeWidth: number = -10 + @State strokeWidthDefaultValue: number = 2 + @State startMargin: number = 0 + @State endMargin: number = 0 + @State nullFlag: boolean = false + @State direction1: Direction = Direction.Ltr + aboutToAppear(): void { + this.strokeWidth = (this.strokeWidth < 0? this.strokeWidthDefaultValue : this.strokeWidth) + } + build() { + Column() { + Tabs({ controller: this.controller1 }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar('pink') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar('yellow') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar('blue') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar('green') + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Red) + }.tabBar('red') + } + .vertical(true) + .direction(this.direction1) + .scrollable(true) + .barMode(BarMode.Fixed) + .barWidth(70) + .barHeight(200) + .animationDuration(400) + .onChange((index: number) => { + console.info(index.toString()) + }) + .height('200vp') + .margin({ bottom: '12vp' }) + .divider(this.nullFlag ? null : { + strokeWidth: this.strokeWidth, + color: this.dividerColor, + startMargin: this.startMargin, + endMargin: this.endMargin + }) + Button('上边距增加').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.startMargin += 2 + }).id('UIComponentNavTabsMirror080_001') + + Button('上边距减少').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + if (this.startMargin > 2) { + this.startMargin -= 2 + } + }).id('UIComponentNavTabsMirror080_002') + + Button('下边距增加').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + this.endMargin += 2 + }).id('UIComponentNavTabsMirror080_003') + Button('下边距减少').width('100%').margin({ bottom: '12vp' }) + .onClick(() => { + if (this.endMargin > 2) { + this.endMargin -= 2 + } + }).id('UIComponentNavTabsMirror080_004') + + Button('方向改变').width('50%').margin({ top: 20 }) + .onClick(()=>{ + if(this.direction1 == Direction.Ltr) + { + this.direction1 = Direction.Rtl + } + else if(this.direction1 == Direction.Rtl) + { + this.direction1 = Direction.Ltr + } + }).id('UIComponentNavTabsMirror080_005') + + + }.padding({ top: '24vp', left: '24vp', right: '24vp' }) + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsOnWillShow/UIComponentNavTabsOnWillShow0190.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsOnWillShow/UIComponentNavTabsOnWillShow0190.ets new file mode 100644 index 00000000..149dfdd8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsOnWillShow/UIComponentNavTabsOnWillShow0190.ets @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsOnWillShow0190 { + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + @Builder tabBuilder(title: string,targetIndex: number) { + Column(){ + Text(title) + }.width('100%') + .height(50) + .id(title) + .justifyContent(FlexAlign.Center) + } + + @Builder tabBuilder1(title: string,targetIndex: number) { + Column(){ + Text(title) + }.width('100%') + .height(50) + .id(title) + .justifyContent(FlexAlign.Center) + } + + build() { + Column({ space: 5 }) { + + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(this.tabBuilder('tab1',0)) + .onWillShow(() => { + console.info("Pink will show"); + }); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(this.tabBuilder('tab2',1)) + .onWillShow(() => { + console.info("Yellow will show"); + }); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder('tab3',2)) + .onWillShow(() => { + console.info("Blue will show"); + }); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(this.tabBuilder('tab4',3)) + .onWillShow(() => { + console.info("Green will show"); + }); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200) + Text("侧边页签样式"); + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(this.tabBuilder1('tab_1',0)) + .onWillShow(() => { + console.info("Pink will show") + }); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(this.tabBuilder1('tab_2',1)) + .onWillShow(() => { + console.info("Yellow will show") + }); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(this.tabBuilder1('tab_3',2)) + .onWillShow(() => { + console.info("Blue will show") + }); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(this.tabBuilder1('tab_4',3)) + .onWillShow(() => { + console.info("Green will show") + }); + } + .vertical(true).scrollable(true).barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(400); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsSubTabbarStyle/UIComponentNavTabsSubTabbarStyle0010.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsSubTabbarStyle/UIComponentNavTabsSubTabbarStyle0010.ets new file mode 100644 index 00000000..e6ee291f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsSubTabbarStyle/UIComponentNavTabsSubTabbarStyle0010.ets @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsSubTabbarStyle0010 { + build() { + Column({ space: 5 }) { + Text("子页签样式") + Column() { + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new SubTabBarStyle('Pink').id('Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Yellow) + }.tabBar(new SubTabBarStyle('Yellow').id('Yellow')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new SubTabBarStyle('Blue').id('Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new SubTabBarStyle('Green').id('Green')); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .id('UIComponentNavTabsSubTabbarStyle0010_001') + .width('100%') + .backgroundColor(0xF1F3F5) + }.width('100%').height(200) + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsWidth/UIComponentNavTabsWidth001.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsWidth/UIComponentNavTabsWidth001.ets new file mode 100644 index 00000000..5f78971f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentNavTabsWidth/UIComponentNavTabsWidth001.ets @@ -0,0 +1,110 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentNavTabsWidth001 { + @State fontColor: string = '#182431' + @State selectedFontColor: string = '#007DFF' + @State currentIndex: number = 0 + private controller: TabsController = new TabsController() + + @Builder tabBuilder(index: number) { + Column() { + Image(this.currentIndex === index ? '/common/public_icon_on.svg' : '/common/public_icon_off.svg') + .width(24) + .height(24) + .margin({ bottom: 4 }) + .objectFit(ImageFit.Contain) + Text('Tab') + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) + .fontSize(10) + .fontWeight(500) + .lineHeight(14) + }.width('100%').height('100%').justifyContent(FlexAlign.Center) + } + + build() { + Column() { + Tabs({ barPosition: BarPosition.End, controller: this.controller }) { + TabContent() { + Column() { + Text('Tab_1') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(50) + }.tabBar(this.tabBuilder(0)) + TabContent() { + Column() { + Text('Tab_2') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(100) + }.tabBar(this.tabBuilder(1)) + TabContent(){ + Column() { + Text('Tab_3') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(150) + }.tabBar(this.tabBuilder(2)) + TabContent(){ + Column() { + Text('Tab_4') + .fontSize(36) + .fontColor('#182431') + .fontWeight(500) + .opacity(0.4) + .margin({ left: 10, right: 26.5 }) + Divider() + .strokeWidth(0.5) + .color('#182431') + .opacity(0.05) + }.width(200) + }.tabBar(this.tabBuilder(3)) + } + .vertical(true) + .barWidth(96) + .barHeight(414) + .onChange((index: number) => { + this.currentIndex = index + }) + .width('auto') + .height(414) + .backgroundColor('#F1F3F5') + .margin({ top: 52 }) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0040.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0040.ets new file mode 100644 index 00000000..71ebe99e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0040.ets @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshAbility0040 { + @State isRefreshing: boolean = false; + @State refreshOffset: number = 60; + @State promptText: string = "Refreshing..."; + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Text("Refresh test") + Button('addRefreshOffset').width('50%').margin({ top: 20 }) + .onClick(() => { + this.refreshOffset =+ 100; + }).id('UIComponentOtherRefreshAbility0040_001'); + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).id('' + item).margin({bottom:10}) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFF0000); + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(this.refreshOffset) + .pullDownRatio(1) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false; + }, 2000) + console.log('onRefreshing test'); + }) + + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0050.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0050.ets new file mode 100644 index 00000000..16fe4f55 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0050.ets @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshAbility0050 { + @State isRefreshing: boolean = false; + @State promptText: string = "Refreshing..."; + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Text("Refresh test") + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).id('' + item).margin({bottom:10}) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFF0000); + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(70) + .pullDownRatio(1) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false; + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0070.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0070.ets new file mode 100644 index 00000000..85d5d1ce --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0070.ets @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshAbility0070 { + @State isRefreshing: boolean = false; + @State promptText: string = "Refreshing..."; + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Text("Refresh test") + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).id('' + item).margin({bottom:10}) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFF0000); + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(0) + .pullDownRatio(1) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false; + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0080.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0080.ets new file mode 100644 index 00000000..6bd7bd78 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0080.ets @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshAbility0080 { + @State isRefreshing: boolean = false; + @State promptText: string = "Refreshing..."; + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Text("Refresh test") + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).id('' + item).margin({bottom:10}) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFF0000); + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(-1) + .pullDownRatio(1) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false; + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0090.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0090.ets new file mode 100644 index 00000000..ddb5eaee --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0090.ets @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshAbility0090 { + @State isRefreshing: boolean = false; + @State promptText: string = "Refreshing..."; + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Text("Refresh test") + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(499).fontSize(16).id('' + item).margin({bottom:10}) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFF0000); + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(500) + .pullDownRatio(1) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false; + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0100.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0100.ets new file mode 100644 index 00000000..52dfb3ef --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0100.ets @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshAbility0100 { + @State isRefreshing: boolean = false; + @State promptText: string = "Refreshing..."; + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Text("Refresh test") + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).id('' + item).margin({bottom:10}) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFF0000); + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(60.5) + .pullDownRatio(1) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false; + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0380.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0380.ets new file mode 100644 index 00000000..fa737a0a --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0380.ets @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshInterAction0380 { + @State isRefreshing: boolean = false + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10'] + + @Builder refreshbBuilder(name: string) { + Column() { + Text(name) .fontSize(30).margin(10) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) + }.width('100%').id('' + name) + } + + + build() { + Column() { + Refresh({ refreshing: $$this.isRefreshing}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + this.refreshbBuilder(item) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off) + } + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus) + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value) + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false + }, 2000) + console.log('onRefreshing test') + }) + .backgroundColor(0x89CFF0) + .refreshOffset(64) + .pullToRefresh(true) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0390.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0390.ets new file mode 100644 index 00000000..04944c25 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0390.ets @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshInterAction0390 { + @State isRefreshing: boolean = false + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10'] + @Builder + customRefreshComponent() + { + Stack() + { + Row() + { + LoadingProgress().height(32) + Text("Refreshing...").fontSize(16).margin({left:20}) + } + .alignItems(VerticalAlign.Center) + .backgroundColor(Color.Blue) + .height(100) + } + .align(Alignment.Center) + .clip(true) + .height(200) + .backgroundColor(Color.Red) + .constraintSize({minHeight:32}) // 设置最小高度约束保证自定义组件高度随刷新区域高度变化时自定义组件高度不会低于minHeight + .width("100%") + } + + build() { + Column() { + Refresh({ refreshing: $$this.isRefreshing,builder:this.customRefreshComponent()}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).margin(10).id('' + item) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off) + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(64) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus) + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false + }, 2000) + console.log('onRefreshing test') + }) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0400.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0400.ets new file mode 100644 index 00000000..1fce4eb0 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0400.ets @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshInterAction0400 { + @State isRefreshing: boolean = false + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10'] + @Builder + customRefreshComponent() + { + Stack() + { + Row() + { + LoadingProgress().height(32) + Text("Refreshing...").fontSize(16).margin({left:20}) + } + .alignItems(VerticalAlign.Center) + .backgroundColor(Color.Blue) + .height(100) + } + .align(Alignment.Center) + .clip(true) + .height(200) + .backgroundColor(Color.Red) + .constraintSize({minHeight:32}) // 设置最小高度约束保证自定义组件高度随刷新区域高度变化时自定义组件高度不会低于minHeight + .width("100%") + } + + build() { + Column() { + Refresh({ refreshing: $$this.isRefreshing,builder:this.customRefreshComponent()}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).margin(10).id('' + item) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off) + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(64) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus) + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false + }, 2000) + console.log('onRefreshing test') + }) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0410.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0410.ets new file mode 100644 index 00000000..f6cd0aaa --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0410.ets @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshInterAction0410 { + @State isRefreshing: boolean = false + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10'] + @Builder + customRefreshComponent() + { + Stack() + { + Row() + { + LoadingProgress().height(32) + Text("Refreshing...").fontSize(16).margin({left:20}) + } + .alignItems(VerticalAlign.Center) + .backgroundColor(Color.Blue) + .height('50%') + .width('50%') + } + .align(Alignment.Center) + .clip(true) + .height('50%') + .width('50%') + .backgroundColor(Color.Red) + .constraintSize({minHeight:32}) // 设置最小高度约束保证自定义组件高度随刷新区域高度变化时自定义组件高度不会低于minHeight + .width("100%") + } + + build() { + Column() { + Refresh({ refreshing: $$this.isRefreshing,builder:this.customRefreshComponent()}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).margin(10).id('' + item) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off) + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(64) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus) + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false + }, 2000) + console.log('onRefreshing test') + }) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0140.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0140.ets new file mode 100644 index 00000000..b05f5508 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0140.ets @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshPromptText0140 { + @State isRefreshing: boolean = false; + @State promptText: string = "Refreshing..."; + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Text("Refresh test") + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).id('' + item) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFF0000); + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(0) + .pullDownRatio(1) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false; + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0170.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0170.ets new file mode 100644 index 00000000..07269db1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0170.ets @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshPromptText0170 { + @State isRefreshing: boolean = false; + @State promptText: string = "Refreshing..."; + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Text("Refresh test") + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).id('' + item).margin({bottom:10}) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFF0000); + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(-100) + .pullDownRatio(1) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false; + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0180.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0180.ets new file mode 100644 index 00000000..49240b52 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0180.ets @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshPromptText0180 { + @State isRefreshing: boolean = false; + @State promptText: string = "Refreshing..."; + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Text("Refresh test") + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).id('' + item).margin({bottom:10}) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFF0000); + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(0) + .pullDownRatio(1) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false; + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0040.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0040.ets new file mode 100644 index 00000000..9de36774 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0040.ets @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshPromptText0040 { + @State isRefreshing: boolean = false; + @State promptText: string = ' '; + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).margin(10).id('' + item) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(96) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0050.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0050.ets new file mode 100644 index 00000000..d7645474 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0050.ets @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshPromptText0050 { + @State isRefreshing: boolean = false; + @State promptText: string = "+-*<>!@#$"; + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).margin(10).id('' + item) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(96) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0060.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0060.ets new file mode 100644 index 00000000..96fc953b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0060.ets @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshPromptText0060 { + @State isRefreshing: boolean = false; + @State promptText: string = "中英文abc"; + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).margin(10).id('' + item) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(96) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0100.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0100.ets new file mode 100644 index 00000000..b782efe4 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0100.ets @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshPromptText0100 { + @State isRefreshing: boolean = false; + @State promptText: Resource = $r("app.string.specifalRefreshText"); + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).margin(10).id('' + item) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(96) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0110.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0110.ets new file mode 100644 index 00000000..fe4c34ff --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0110.ets @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshPromptText0110 { + @State isRefreshing: boolean = false; + @State promptText: Resource = $r("app.string.mixRefreshText"); + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).margin(10).id('' + item) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(96) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0120.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0120.ets new file mode 100644 index 00000000..2d05b80d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0120.ets @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@Entry +@Component +struct UIComponentOtherRefreshPromptText0120 { + @State isRefreshing: boolean = false; + @State promptText: string = 'openHarmon1234openHarmon1234openHarmon1234openHarmon1234openHarmon1234openHarmon1234openHarmon1234openHarmon1234openHarmon1234'; + @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10']; + + build() { + Column() { + Refresh({ refreshing: $$this.isRefreshing, promptText: this.promptText}) { + List() { + ForEach(this.arr, (item: string) => { + ListItem() { + Text('' + item) + .width('70%').height(80).fontSize(16).margin(10).id('' + item) + .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + } + .onScrollIndex((first: number) => { + console.info(first.toString()) + }) + .width('100%') + .height('100%') + .alignListItem(ListItemAlign.Center) + .scrollBar(BarState.Off); + } + .backgroundColor(0x89CFF0) + .pullToRefresh(true) + .refreshOffset(96) + .onStateChange((refreshStatus: RefreshStatus) => { + console.info('Refresh onStatueChange state is ' + refreshStatus); + }) + .onOffsetChange((value: number) => { + console.info('Refresh onOffsetChange offset:' + value); + }) + .onRefreshing(() => { + setTimeout(() => { + this.isRefreshing = false + }, 2000) + console.log('onRefreshing test'); + }); + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0010.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0010.ets new file mode 100644 index 00000000..89c89a75 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0010.ets @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0010 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Orange')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Green')); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0020.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0020.ets new file mode 100644 index 00000000..704f5cce --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0020.ets @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0020 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.media.ohos_app_icon')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Orange')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Green')); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0030.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0030.ets new file mode 100644 index 00000000..e780d6fe --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0030.ets @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0030 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('app.media.magnifier')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Orange')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Green')); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0040.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0040.ets new file mode 100644 index 00000000..9c53f6d1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0040.ets @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0040 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')); + @State symbolModifier2: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ellipsis_bubble')); + @State symbolModifier3: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.dot_video')); + @State symbolModifier4: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.exposure')); + @State normalIcocn: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.media.ohos_app_icon')); + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: this.normalIcocn, + selected: this.symbolModifier1 + }, 'Pink').id('Pink')) + .onWillShow(() => { + console.info("Pink will show") + }) + .onWillHide(() => { + console.info("Pink will hide") + }) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: this.normalIcocn, + selected: this.symbolModifier2 + }, 'Orange').id('Orange')) + .onWillShow(() => { + console.info("Orange will show") + }) + .onWillHide(() => { + console.info("Orange will hide") + }) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: this.normalIcocn, + selected: this.symbolModifier3 + }, 'Blue').id('Blue')) + .onWillShow(() => { + console.info("Blue will show") + }) + .onWillHide(() => { + console.info("Blue will hide") + }) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: this.normalIcocn, + selected: this.symbolModifier4 + }, 'Green').id('Green')) + .onWillShow(() => { + console.info("Green will show") + }) + .onWillHide(() => { + console.info("Green will hide") + }) + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0060.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0060.ets new file mode 100644 index 00000000..3c50776d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0060.ets @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0060 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + @State symbolModifier2: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ellipsis_bubble')).fontColor([Color.Pink]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + @State symbolModifier3: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.dot_video')).fontColor([Color.Yellow]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + @State symbolModifier4: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.exposure')).fontColor([Color.Green]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + }, 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier2, + }, 'Orange')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier3, + }, 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier4, + }, 'Green')) + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0070.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0070.ets new file mode 100644 index 00000000..ebba5702 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0070.ets @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0070 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_COLOR); + @State symbolModifier2: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ellipsis_bubble')).fontColor([Color.Pink]) + .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_COLOR); + @State symbolModifier3: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.dot_video')).fontColor([Color.Yellow]) + .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_COLOR); + @State symbolModifier4: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.exposure')).fontColor([Color.Green]) + .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_COLOR); + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + }, 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier2, + }, 'Orange')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier3, + }, 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier4, + }, 'Green')) + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0080.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0080.ets new file mode 100644 index 00000000..acb4ca1e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0080.ets @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0080 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_OPACITY); + @State symbolModifier2: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ellipsis_bubble')).fontColor([Color.Pink]) + .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_OPACITY); + @State symbolModifier3: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.dot_video')).fontColor([Color.Yellow]) + .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_OPACITY); + @State symbolModifier4: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.exposure')).fontColor([Color.Green]) + .renderingStrategy(SymbolRenderingStrategy.MULTIPLE_OPACITY); + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + }, 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier2, + }, 'Orange')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier3, + }, 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier4, + }, 'Green')) + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0090.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0090.ets new file mode 100644 index 00000000..ce9e706b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0090.ets @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0090 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontSize(160); + build() { + Column({space: 5}) { + Text("底部页签样式") + Column(){ + Tabs({barPosition: BarPosition.End}) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + }, 'Pink').id('Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + }, 'Orange').id('Orange')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + }, 'Blue').id('Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + }, 'Green').id('Green')) + } + .vertical(false) + .scrollable(true) + .barHeight(150) + .barMode(BarMode.Fixed) + .onChange((index:number)=>{ + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + }.width('100%').height(500) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0110.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0110.ets new file mode 100644 index 00000000..47087927 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0110.ets @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0110 { + build() { + Column({space: 5}) { + Text("底部页签样式") + Column(){ + Tabs({barPosition: BarPosition.End}) { + TabContent() { + Column().width(70).height(70).backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: undefined, + }, 'Pink')) + + TabContent() { + Column().width(80).height(80).backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: undefined, + }, 'Orange')) + + TabContent() { + Column().width(90).height(90).backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: undefined, + }, 'Blue')) + + TabContent() { + Column().width(100).height(100).backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: undefined, + }, 'Green')) + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index:number)=>{ + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + }.width('100%').height(300) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0120.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0120.ets new file mode 100644 index 00000000..4c180d42 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0120.ets @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0120 { + build() { + Column({space: 5}) { + Text("底部页签样式") + Column(){ + Tabs({barPosition: BarPosition.End}) { + TabContent() { + Column().width(70).height(70).backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: null, + }, 'Pink')) + + TabContent() { + Column().width(80).height(80).backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: null, + }, 'Orange')) + + TabContent() { + Column().width(90).height(90).backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: null, + }, 'Blue')) + + TabContent() { + Column().width(100).height(100).backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: null, + }, 'Green')) + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index:number)=>{ + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + }.width('100%').height(300) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0130.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0130.ets new file mode 100644 index 00000000..dd586880 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0130.ets @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0130 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + @State symbolModifier2: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ellipsis_bubble')).fontColor([Color.Pink]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + @State flag: boolean = true; + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: (this.flag ? this.symbolModifier1 : this.symbolModifier2), + }, 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: (this.flag ? this.symbolModifier1 : this.symbolModifier2), + }, 'Orange')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: (this.flag ? this.symbolModifier1 : this.symbolModifier2), + }, 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: (this.flag ? this.symbolModifier1 : this.symbolModifier2), + }, 'Green')); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + + + Button('样式切换').width('50%') + .onClick(() => { + this.flag = !this.flag + }).id('UIComponentTabTabBarSymbol0130_001'); + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0140.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0140.ets new file mode 100644 index 00000000..9f0655de --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0140.ets @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0140 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + @State symbolModifier2: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ellipsis_bubble')).fontColor([Color.Pink]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + @State symbolModifier3: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.dot_video')).fontColor([Color.Yellow]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + @State symbolModifier4: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.exposure')).fontColor([Color.Green]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + @State flag: boolean = true; + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: (this.flag ? this.symbolModifier1 : undefined), + }, 'Pink')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: (this.flag ? this.symbolModifier2 : undefined), + }, 'Orange')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: (this.flag ? this.symbolModifier3 : undefined), + }, 'Blue')) + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: (this.flag ? this.symbolModifier4 : undefined), + }, 'Green')) + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5) + + + Button('样式切换').width('50%') + .onClick(() => { + this.flag = !this.flag + }).id('UIComponentTabTabBarSymbol0140_001') + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0150.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0150.ets new file mode 100644 index 00000000..5057fc0c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0150.ets @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0150 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + @State flag: boolean = false; + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor('#66000000') + }.tabBar(new BottomTabBarStyle(this.flag ? $r("app.media.magnifier"):{ + normal: (this.symbolModifier1), + }, 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor('#66000000') + }.tabBar(new BottomTabBarStyle(this.flag ? $r("app.media.magnifier"):{ + normal: (this.symbolModifier1), + }, 'Orange')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor('#66000000') + }.tabBar(new BottomTabBarStyle(this.flag ? $r("app.media.magnifier"):{ + normal: (this.symbolModifier1), + }, 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor('#66000000') + }.tabBar(new BottomTabBarStyle(this.flag ? $r("app.media.magnifier"):{ + normal: (this.symbolModifier1), + }, 'Green')); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0160.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0160.ets new file mode 100644 index 00000000..da3faed1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0160.ets @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0160 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + selected: null + }, 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + selected: null + }, 'Orange')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + selected: null + }, 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + selected: null + }, 'Green')); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0170.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0170.ets new file mode 100644 index 00000000..877fe9c7 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0170.ets @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0170 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + selected: undefined + }, 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + selected: undefined + }, 'Orange')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + selected: undefined + }, 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + selected: undefined + }, 'Green')); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0180.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0180.ets new file mode 100644 index 00000000..b3218bd6 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0180.ets @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0180 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + }, 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + }, 'Orange')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + }, 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier1, + }, 'Green')); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0190.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0190.ets new file mode 100644 index 00000000..d4656f89 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0190.ets @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0190 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + @State symbolModifier2: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ellipsis_bubble')).fontColor([Color.Pink]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + @State flag: boolean = false; + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + //normal: (this.flag ? this.symbolModifier1 : undefined), + normal: this.symbolModifier1, + selected: (this.flag ? this.symbolModifier2 : undefined), + }, 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + //normal: (this.flag ? this.symbolModifier1 : undefined), + normal: this.symbolModifier1, + selected: (this.flag ? this.symbolModifier2 : undefined), + }, 'Orange')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + //normal: (this.flag ? this.symbolModifier1 : undefined), + normal: this.symbolModifier1, + selected: (this.flag ? this.symbolModifier2 : undefined), + }, 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + //normal: (this.flag ? this.symbolModifier1 : undefined), + normal: this.symbolModifier1, + selected: (this.flag ? this.symbolModifier2 : undefined), + }, 'Green')); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + + Button('样式切换').width('50%') + .onClick(() => { + this.flag = !this.flag + }).id('UIComponentTabTabBarSymbol0190_001'); + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0230.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0230.ets new file mode 100644 index 00000000..f0b4156d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0230.ets @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0230 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Orange')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle({ + normal: (this.symbolModifier1), + }, 'Green')); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0260.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0260.ets new file mode 100644 index 00000000..fa8235c7 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0260.ets @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@kit.ArkUI' + +@Entry +@Component +struct UIComponentTabTabBarSymbol0260 { + @State symbolModifier1: SymbolGlyphModifier = new SymbolGlyphModifier($r('sys.symbol.ohos_wifi')).fontColor([Color.Red]) + .renderingStrategy(SymbolRenderingStrategy.SINGLE); + @State flag: boolean = true; + + build() { + Column({ space: 5 }) { + Text("底部页签样式") + Column() { + Tabs({ barPosition: BarPosition.End }) { + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Pink) + }.tabBar(new BottomTabBarStyle(this.flag ? $r("app.media.magnifier"):{ + normal: (this.symbolModifier1), + }, 'Pink')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Orange) + }.tabBar(new BottomTabBarStyle(this.flag ? $r("app.media.magnifier"):{ + normal: (this.symbolModifier1), + }, 'Orange')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Blue) + }.tabBar(new BottomTabBarStyle(this.flag ? $r("app.media.magnifier"):{ + normal: (this.symbolModifier1), + }, 'Blue')); + + TabContent() { + Column().width('100%').height('100%').backgroundColor(Color.Green) + }.tabBar(new BottomTabBarStyle(this.flag ? $r("app.media.magnifier"):{ + normal: (this.symbolModifier1), + }, 'Green')); + } + .vertical(false) + .scrollable(true) + .barMode(BarMode.Fixed) + .onChange((index: number) => { + console.info(index.toString()) + }) + .width('100%') + .backgroundColor(0xF1F3F5); + + Button('样式切换').width('50%') + .onClick(() => { + this.flag = !this.flag + }).id('UIComponentTabTabBarSymbol0260_001'); + }.width('100%').height(200) + } + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0050.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0050.ets new file mode 100644 index 00000000..afd3436b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0050.ets @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@ohos.arkui.modifier' + +@Entry +@Component +struct UIComponentTabTabbarTabbarsymbol0050 { + @State isModifier: boolean = true; + @State currentIndex: number = 0; + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK; + @State symbolModifier: SymbolGlyphModifier = new SymbolGlyphModifier($r('app.media.openeye')); + @State symbolModifiers: SymbolGlyphModifier = new SymbolGlyphModifier($r('app.media.icon')); + @State symbolModifierSelect: SymbolGlyphModifier = new SymbolGlyphModifier($r('app.media.closeeye')); + private controller: TabsController = new TabsController(); + + build() { + Column() { + Button('isModifier') + .id('UIComponentTabTabbarTabbarsymbol0050_001') + .onClick(() => { + this.isModifier = !this.isModifier; + }) + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle({ + normal: this.isModifier ? this.symbolModifier : this.symbolModifiers, + selected: this.symbolModifierSelect + }, 'Black') + .iconStyle({ unselectedColor: this.isModifier ? Color.Red : Color.Pink, selectedColor: Color.Green })) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle({ + normal: this.isModifier ? this.symbolModifier : this.symbolModifiers, + selected: this.symbolModifierSelect + }, 'Pink')) + + } + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .barOverlap(true) + .barGridAlign( + { + lg: 10 + } + ) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0240.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0240.ets new file mode 100644 index 00000000..7ead2fcc --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0240.ets @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@ohos.arkui.modifier' + +@Entry +@Component +struct UIComponentTabTabbarTabbarsymbol0240 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + private controller: TabsController = new TabsController() + @State symbolModifier: SymbolGlyphModifier = new SymbolGlyphModifier($r('app.media.icon')) + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier + }, 'Black')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier + }, 'Pink')) + + } + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .barOverlap(true) + .barGridAlign( + { + lg:10 + } + ) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0250.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0250.ets new file mode 100644 index 00000000..8bb31d68 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0250.ets @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License') + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SymbolGlyphModifier } from '@ohos.arkui.modifier' + +@Entry +@Component +struct UIComponentTabTabbarTabbarsymbol0250 { + @State currentIndex: number = 0 + @State blurStyle: BlurStyle = BlurStyle.BACKGROUND_THICK + @State symbolModifier: SymbolGlyphModifier = new SymbolGlyphModifier($r('app.media.openeye')) + @State symbolModifierSelect: SymbolGlyphModifier = new SymbolGlyphModifier($r('app.media.closeeye')) + private controller: TabsController = new TabsController() + + build() { + Column() { + Tabs({ barPosition: BarPosition.Start, index: this.currentIndex, controller: this.controller }) { + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Black) + } + .tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier, + selected: this.symbolModifierSelect + }, 'Black')) + + TabContent() { + Column().width(500).height('100%').backgroundColor(Color.Pink) + } + .tabBar(new BottomTabBarStyle({ + normal: this.symbolModifier, + selected: this.symbolModifierSelect + }, 'Black')) + + } + .barBackgroundBlurStyle(BlurStyle.BACKGROUND_REGULAR) + .barOverlap(true) + .barGridAlign( + { + lg: 10 + } + ) + .height(296) + }.width('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/float.json b/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/float.json index 989acc49..4038f619 100644 --- a/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/float.json +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/float.json @@ -3,6 +3,14 @@ { "name": "boardSize_10", "value": "10" + }, + { + "name": "strokewidth_10", + "value": "10" + }, + { + "name": "bbb", + "value": "5" } ] } \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/integer.json b/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/integer.json index 0cf2364d..6d4e4892 100644 --- a/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/integer.json +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/integer.json @@ -10,6 +10,33 @@ },{ "name": "50", "value": 50 + },{ + "name": "integer30", + "value": 30 + },{ + "name": "integer100", + "value": 100 + },{ + "name": "string30", + "value": 30 + },{ + "name": "30", + "value": 30 + },{ + "name": "15", + "value": 15 + }, + { + "name": "100", + "value": 100 + }, + { + "name": "negative30", + "value": -30 + }, + { + "name": "integer333", + "value": 333 } ] } \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/string.json b/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/string.json index 4e5dc1f0..5f06f610 100644 --- a/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/string.json +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/string.json @@ -55,6 +55,138 @@ { "name": "font_20", "value": "20" + }, + { + "name": "attributeUpdater", + "value": "resource font" + }, + { + "name": "dsfsfsf", + "value": "dsfsfsf" + }, + { + "name": "empty", + "value": "" + }, + { + "name": "string100", + "value": "100px" + }, + { + "name": "string_200px", + "value": "200px" + }, + { + "name": "string_24", + "value": "24%" + }, + { + "name": "apple", + "value": "苹果" + }, + { + "name": "fruit", + "value": "水果" + }, + { + "name": "appliance", + "value": "家电" + }, + { + "name": "banana", + "value": "香蕉" + }, + { + "name": "tv", + "value": "电视" + }, + { + "name": "computer", + "value": "电脑" + }, + { + "name": "string_300px", + "value": "300px" + }, + { + "name": "string_60", + "value": "60%" + }, + { + "name": "Hyperlink_address", + "value": "https://www.openharmony.cn/mainPlay" + }, + { + "name": "popup_width", + "value": "30px" + }, + { + "name": "popup_arrow_offset", + "value": "205%" + }, + { + "name": "popup_target_space", + "value": "30px" + }, + { + "name": "popup_offset_x", + "value": "30px" + }, + { + "name": "popup_radius", + "value": "100vp" + }, + { + "name": "popup_negative_radius", + "value": "-30px" + }, + { + "name": "popup_font_family", + "value": "'HarmonyOS Sans'" + }, + { + "name": "string1", + "value": "30vp" + }, + { + "name": "50_percent", + "value": "50%" + }, + { + "name": "24_percent", + "value": "24%" + }, + { + "name": "lineHeightSize", + "value": "60fp" + }, + { + "name": "popup_font_time_picker", + "value": "Arial,HarmonyOS Sans" + }, + { + "name": "time_picker_10vp", + "value": "10vp" + }, + { + "name": "time_picker_10fp", + "value": "10fp" + }, + { + "name": "mixRefreshText", + "value": "中英文abc" + }, + { + "name": "specifalRefreshText", + "value": "+-*<>!@#$" + }, + { + "name": "width_20", + "value": "20" + }, + { + "name": "height_20", + "value": "20" } ] } \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/magnifier.svg b/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/magnifier.svg new file mode 100644 index 00000000..a8e61ed1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/magnifier.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_search_filled + + + + + + + + + + \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/tick.svg b/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/tick.svg new file mode 100644 index 00000000..74490ce3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/tick.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_select all + + + + + + + + + + \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/waterFlowTest.jpg b/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/waterFlowTest.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e7134f381c8218491244fb6c34fcc608d4dd65e9 GIT binary patch literal 149417 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

@MF%W*o~Zy&opTL1!`g)k1_Re2zcSH?dTuRQ%; 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

$D_pUy_>W)v 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 Nh87T#cSi8o|Je+vYkvR$ literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/profile/test_pages.json b/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/profile/test_pages.json index 6b8f2a77..d80234b8 100644 --- a/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/profile/test_pages.json +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/profile/test_pages.json @@ -452,6 +452,378 @@ "testability/pages/ComponentTextRicheditorPlaceholderTest/ComponentTextRicheditorPlaceholder00103_040", "testability/pages/ComponentTextRicheditorPlaceholderTest/ComponentTextRicheditorPlaceholder00103_040_934", "testability/pages/ComponentTextRicheditorPlaceholderTest/ComponentTextRicheditorPlaceholder00104", - "testability/pages/ComponentTextRicheditorPlaceholderTest/ComponentTextRicheditorPlaceholder00105" + "testability/pages/ComponentTextRicheditorPlaceholderTest/ComponentTextRicheditorPlaceholder00105", + + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0310", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt001", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt002", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt003", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt004", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0050", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt007", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0080", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt010", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt011", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt012", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt013", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt014", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0150", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0180", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0210", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0240", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt027", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt028", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt030", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt032", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt033", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt034", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt035", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0160", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0190", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0220", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0250", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0170", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0200", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0230", + "testability/pages/UIComponentNavTabsContentAdapt/UIComponentNavTabsContentAdapt0260", + + "testability/pages/ArkUITabScrollable/ArkUITabScrollable001", + "testability/pages/ArkUITabScrollable/ArkUITabScrollable002", + + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont005", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont007", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont008", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont009", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont010", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont011", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont015", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont016", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont020", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont001", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont003", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont004", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont006", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont012", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont013", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont017", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont018", + "testability/pages/ArkUITabsLabelStylefont/ArkUITabsLabelStylefont019", + + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor001", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor003", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor005", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor007", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor009", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor011", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor013", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor017", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor019", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor027", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor029", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor012", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor015", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor021", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor023", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor024", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor025", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor026", + "testability/pages/ArkUITabsLabelStyleSelectedColor/ArkUITabsLabelStyleSelectedColor028", + + "testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor001", + "testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor005", + "testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor008", + "testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor011", + "testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor012", + "testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor017", + "testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor021", + "testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor022", + "testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor025", + "testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor026", + "testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor027", + "testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor028", + "testability/pages/ArkUITabsLabelStyleUnselectedColor/ArkUITabsLabelStyleUnselectedColor024", + + "testability/pages/ArkUITabsVertical/ArkUITabsVertical001", + + "testability/pages/FunctionJichuWaterFlow/FunctionJichuWaterFlow001806", + "testability/pages/FunctionJichuWaterFlow/FunctionJichuWaterFlow0350", + + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0080458", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0090321", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0100678", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0110972", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0120725", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0130072", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0140666", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0150827", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0160890", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0170444", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0270011", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0280056", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0290223", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0300414", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0310330", + "testability/pages/UIComponentListAndGridWaterFlowAdd/UIComponentListAndGridWaterFlowAdd0320534", + + "testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0370", + "testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0380", + "testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0390", + "testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0400", + "testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0410", + "testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0420", + "testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0500", + "testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0510", + "testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0520", + "testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0530", + "testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0540", + "testability/pages/UIComponentListAndGridWaterSections/UIComponentListAndGridWaterSections0560", + + "testability/pages/UIComponentNavModifier/UIComponentNavModifier0370", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier0380", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier0400", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier041", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier043", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier044", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier045", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier046", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier048", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier053", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier056", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier058", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier060", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier063", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier065", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier066", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier0770", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier0810", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier083", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier0840", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier0860", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier0900", + "testability/pages/UIComponentNavModifier/UIComponentNavModifier0920", + + "testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0011", + "testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0012", + "testability/pages/UIComponentNavTabsAction/UIComponentNavTabsAction0030", + + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0010", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0011", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0012", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0013", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0014", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0015", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0016", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0017", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0029", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0030", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0031", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0032", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0033", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0034", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0035", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0036", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0038", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0039", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0040", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0041", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0042", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0043", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0044", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0045", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0046", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0048", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0049", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0050", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0018", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0019", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0020", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0021", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0022", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0023", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0024", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0025", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0026", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0027", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0028", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0047", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0051", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0052", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0053", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0060", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0080", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0100", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0110", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0160", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0170", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0180", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0190", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0200", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0210", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0220", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0230", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0240", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0250", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0260", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0270", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0280", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0290", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0300", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0310", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0320", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0340", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0350", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0360", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0370", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0380", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0390", + "testability/pages/UIComponentNavTabsBlurStyle/UIComponentNavTabsBlurStyle0400", + + "testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount014", + "testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount015", + "testability/pages/UIComponentNavTabsCachedCount/UIComponentNavTabsCachedCount016", + + "testability/pages/UIComponentNavTabsHeight/UIComponentNavTabsHeight001", + + "testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0010", + "testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0020", + "testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0030", + "testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0040", + "testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0060", + "testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0070", + "testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0080", + "testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0120", + "testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0130", + "testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0140", + "testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0150", + "testability/pages/UIComponentNavTabsImproTrace/UIComponentNavTabsImproTrace0160", + + "testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0010", + "testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0030", + "testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0040", + "testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0050", + "testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0060", + "testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0070", + "testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0080", + "testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0090", + "testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0130", + "testability/pages/UIComponentNavTabsInterception/UIComponentNavTabsInterception0150", + + "testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface012", + "testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface1190", + "testability/pages/UIComponentNavTabsInterface/UIComponentNavTabsInterface1220", + + "testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0030", + "testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0070", + "testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0090", + "testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror010", + "testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0110", + "testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0120", + "testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0130", + "testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0140", + "testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0150", + "testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0160", + "testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0250", + "testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror0260", + "testability/pages/UIComponentNavTabsMirror/UIComponentNavTabsMirror080", + + "testability/pages/UIComponentNavTabsOnWillShow/UIComponentNavTabsOnWillShow0190", + + "testability/pages/UIComponentNavTabsSubTabbarStyle/UIComponentNavTabsSubTabbarStyle0010", + + "testability/pages/UIComponentNavTabsWidth/UIComponentNavTabsWidth001", + + "testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0040", + "testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0050", + "testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0070", + "testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0080", + "testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0090", + "testability/pages/UIComponentOtherRefreshAbility/UIComponentOtherRefreshAbility0100", + + "testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0380", + "testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0390", + "testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0400", + "testability/pages/UIComponentOtherRefreshInterAction/UIComponentOtherRefreshInterAction0410", + + "testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0140", + "testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0170", + "testability/pages/UIComponentOtherRefreshInterface/UIComponentOtherRefreshInterface0180", + + "testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0040", + "testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0050", + "testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0060", + "testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0100", + "testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0110", + "testability/pages/UIComponentOtherRefreshPromptText/UIComponentOtherRefreshPromptText0120", + + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0010", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0020", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0030", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0040", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0060", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0070", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0080", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0090", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0110", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0120", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0130", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0140", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0150", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0160", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0170", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0180", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0190", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0230", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabBarSymbol0260", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0050", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0240", + "testability/pages/UIComponentTabTabBarSymbol/UIComponentTabTabbarTabbarsymbol0250", + + "testability/pages/UIComponentNavTabsEdgeeffect/UIComponentNavTabsEdgeeffect0230", + "testability/pages/UIComponentNavTabsEdgeeffect/UIComponentNavTabsEdgeeffect0270", + + "testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0090", + "testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0010", + "testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0120", + "testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0050", + "testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0080", + "testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0070", + "testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0060", + "testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0040", + "testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0030", + "testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0020", + "testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0100", + "testability/pages/UIComponentNavTabsExpandsafearea/UIComponentNavTabsExpandsafearea0110", + + "testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor001", + "testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor004", + "testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor008", + "testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor013", + "testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor014", + "testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor022", + "testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor024", + "testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor025", + "testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor026", + "testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor027", + "testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor028", + "testability/pages/ArkUITabsIconStyleSelectedColor/ArkUITabsIconStyleSelectedColor029", + + "testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor002", + "testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor005", + "testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor014", + "testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor016", + "testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor021", + "testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor022", + "testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor024", + "testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor026", + "testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor027", + "testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor028", + "testability/pages/ArkUITabsIconStyleUnselectedColor/ArkUITabsIconStyleUnselectedColor029", + + "testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor002", + "testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor005", + "testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor008", + "testability/pages/ArkUITabsSingleSelectedcolor/ArkUITabsSingleSelectedcolor011", + + "testability/pages/ArkUITabsSingleUnselectedcolor/ArkUITabsSingleUnselectedcolor003" ] } -- Gitee