1/* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16/** 17 * @file 18 * @kit ArkUI 19 */ 20 21 22 23 24 25/** 26 * Defines text only item of SegmentButton. 27 * 28 * @interface SegmentButtonTextItem 29 * @syscap SystemCapability.ArkUI.ArkUI.Full 30 * @crossplatform 31 * @since 11 32 */ 33 /** 34 * Defines text only item of SegmentButton. 35 * 36 * @interface SegmentButtonTextItem 37 * @syscap SystemCapability.ArkUI.ArkUI.Full 38 * @crossplatform 39 * @atomicservice 40 * @since 12 41 */ 42 43interface SegmentButtonTextItem { 44 /** 45 * The text of text only item. 46 * 47 * @type { ResourceStr } 48 * @syscap SystemCapability.ArkUI.ArkUI.Full 49 * @crossplatform 50 * @since 11 51 */ 52 /** 53 * The text of text only item. 54 * 55 * @type { ResourceStr } 56 * @syscap SystemCapability.ArkUI.ArkUI.Full 57 * @crossplatform 58 * @atomicservice 59 * @since 12 60 */ 61 text: ResourceStr; 62 63 /** 64 * The accessibilityLevel of buttonItem. 65 * 66 * @type { ?string } 67 * @default "auto" 68 * @syscap SystemCapability.ArkUI.ArkUI.Full 69 * @crossplatform 70 * @atomicservice 71 * @since 13 72 */ 73 accessibilityLevel?: string; 74 75 /** 76 * The accessibilityDescription of buttonItem. 77 * 78 * @type { ?ResourceStr } 79 * @default "" 80 * @syscap SystemCapability.ArkUI.ArkUI.Full 81 * @crossplatform 82 * @atomicservice 83 * @since 13 84 */ 85 accessibilityDescription?: ResourceStr; 86} 87 88/** 89 * Defines icon only item of SegmentButton. 90 * 91 * @interface SegmentButtonIconItem 92 * @syscap SystemCapability.ArkUI.ArkUI.Full 93 * @crossplatform 94 * @since 11 95 */ 96 /** 97 * Defines icon only item of SegmentButton. 98 * 99 * @interface SegmentButtonIconItem 100 * @syscap SystemCapability.ArkUI.ArkUI.Full 101 * @crossplatform 102 * @atomicservice 103 * @since 12 104 */ 105interface SegmentButtonIconItem { 106 /** 107 * The icon of icon only item. 108 * 109 * @type { ResourceStr } 110 * @syscap SystemCapability.ArkUI.ArkUI.Full 111 * @crossplatform 112 * @since 11 113 */ 114 /** 115 * The icon of icon only item. 116 * 117 * @type { ResourceStr } 118 * @syscap SystemCapability.ArkUI.ArkUI.Full 119 * @crossplatform 120 * @atomicservice 121 * @since 12 122 */ 123 icon: ResourceStr; 124 125 /** 126 * The accessibilityText of icon. 127 * 128 * @type { ?ResourceStr } 129 * @default "" 130 * @syscap SystemCapability.ArkUI.ArkUI.Full 131 * @crossplatform 132 * @atomicservice 133 * @since 13 134 */ 135 iconAccessibilityText?: ResourceStr; 136 137 /** 138 * The icon of icon only item in the selected state. 139 * 140 * @type { ResourceStr } 141 * @syscap SystemCapability.ArkUI.ArkUI.Full 142 * @crossplatform 143 * @since 11 144 */ 145 /** 146 * The icon of icon only item in the selected state. 147 * 148 * @type { ResourceStr } 149 * @syscap SystemCapability.ArkUI.ArkUI.Full 150 * @crossplatform 151 * @atomicservice 152 * @since 12 153 */ 154 selectedIcon: ResourceStr; 155 156 /** 157 * The accessibilityText of selectedIcon. 158 * 159 * @type { ?ResourceStr } 160 * @default "" 161 * @syscap SystemCapability.ArkUI.ArkUI.Full 162 * @crossplatform 163 * @atomicservice 164 * @since 13 165 */ 166 selectedIconAccessibilityText?: ResourceStr; 167 168 /** 169 * The accessibilityLevel of buttonItem. 170 * 171 * @type { ?string } 172 * @default "auto" 173 * @syscap SystemCapability.ArkUI.ArkUI.Full 174 * @crossplatform 175 * @atomicservice 176 * @since 13 177 */ 178 accessibilityLevel?: string; 179 180 /** 181 * The accessibilityDescription of buttonItem. 182 * 183 * @type { ?ResourceStr } 184 * @default "" 185 * @syscap SystemCapability.ArkUI.ArkUI.Full 186 * @crossplatform 187 * @atomicservice 188 * @since 13 189 */ 190 accessibilityDescription?: ResourceStr; 191} 192 193/** 194 * Defines icon and text item of SegmentButton. 195 * 196 * @interface SegmentButtonIconTextItem 197 * @syscap SystemCapability.ArkUI.ArkUI.Full 198 * @crossplatform 199 * @since 11 200 */ 201 /** 202 * Defines icon and text item of SegmentButton. 203 * 204 * @interface SegmentButtonIconTextItem 205 * @syscap SystemCapability.ArkUI.ArkUI.Full 206 * @crossplatform 207 * @atomicservice 208 * @since 12 209 */ 210interface SegmentButtonIconTextItem { 211 /** 212 * The icon of icon and text item. 213 * 214 * @type { ResourceStr } 215 * @syscap SystemCapability.ArkUI.ArkUI.Full 216 * @crossplatform 217 * @since 11 218 */ 219 /** 220 * The icon of icon and text item. 221 * 222 * @type { ResourceStr } 223 * @syscap SystemCapability.ArkUI.ArkUI.Full 224 * @crossplatform 225 * @atomicservice 226 * @since 12 227 */ 228 icon: ResourceStr; 229 230 /** 231 * The accessibilityText of icon. 232 * 233 * @type { ?ResourceStr } 234 * @default "" 235 * @syscap SystemCapability.ArkUI.ArkUI.Full 236 * @crossplatform 237 * @atomicservice 238 * @since 13 239 */ 240 iconAccessibilityText?: ResourceStr; 241 242 /** 243 * The icon of icon and text item in the selected state. 244 * 245 * @type { ResourceStr } 246 * @syscap SystemCapability.ArkUI.ArkUI.Full 247 * @crossplatform 248 * @since 11 249 */ 250 /** 251 * The icon of icon and text item in the selected state. 252 * 253 * @type { ResourceStr } 254 * @syscap SystemCapability.ArkUI.ArkUI.Full 255 * @crossplatform 256 * @atomicservice 257 * @since 12 258 */ 259 selectedIcon: ResourceStr; 260 261 /** 262 * The accessibilityText of selectedIcon. 263 * 264 * @type { ?ResourceStr } 265 * @default "" 266 * @syscap SystemCapability.ArkUI.ArkUI.Full 267 * @crossplatform 268 * @atomicservice 269 * @since 13 270 */ 271 selectedIconAccessibilityText?: ResourceStr; 272 273 /** 274 * The text of icon and text item. 275 * 276 * @type { ResourceStr } 277 * @syscap SystemCapability.ArkUI.ArkUI.Full 278 * @crossplatform 279 * @since 11 280 */ 281 /** 282 * The text of icon and text item. 283 * 284 * @type { ResourceStr } 285 * @syscap SystemCapability.ArkUI.ArkUI.Full 286 * @crossplatform 287 * @atomicservice 288 * @since 12 289 */ 290 text: ResourceStr; 291 292 /** 293 * The accessibilityLevel of buttonItem. 294 * 295 * @type { ?string } 296 * @default "auto" 297 * @syscap SystemCapability.ArkUI.ArkUI.Full 298 * @crossplatform 299 * @atomicservice 300 * @since 13 301 */ 302 accessibilityLevel?: string; 303 304 /** 305 * The accessibilityDescription of buttonItem. 306 * 307 * @type { ?ResourceStr } 308 * @default "" 309 * @syscap SystemCapability.ArkUI.ArkUI.Full 310 * @crossplatform 311 * @atomicservice 312 * @since 13 313 */ 314 accessibilityDescription?: ResourceStr; 315} 316 317/** 318 * Defines the DimensionNoPercentage type. 319 * 320 * @syscap SystemCapability.ArkUI.ArkUI.Full 321 * @crossplatform 322 * @since 11 323 */ 324 /** 325 * Defines the DimensionNoPercentage type. 326 * 327 * @syscap SystemCapability.ArkUI.ArkUI.Full 328 * @crossplatform 329 * @atomicservice 330 * @since 12 331 */ 332declare type DimensionNoPercentage = PX | VP | FP | LPX | Resource; 333 334/** 335 * Defines SegmentButton common options. 336 * 337 * @interface CommonSegmentButtonOptions 338 * @syscap SystemCapability.ArkUI.ArkUI.Full 339 * @crossplatform 340 * @since 11 341 */ 342 /** 343 * Defines SegmentButton common options. 344 * 345 * @interface CommonSegmentButtonOptions 346 * @syscap SystemCapability.ArkUI.ArkUI.Full 347 * @crossplatform 348 * @atomicservice 349 * @since 12 350 */ 351interface CommonSegmentButtonOptions { 352 /** 353 * The font color of buttons. 354 * 355 * @type { ?ResourceColor } 356 * @syscap SystemCapability.ArkUI.ArkUI.Full 357 * @crossplatform 358 * @since 11 359 */ 360 /** 361 * The font color of buttons. 362 * 363 * @type { ?ResourceColor } 364 * @syscap SystemCapability.ArkUI.ArkUI.Full 365 * @crossplatform 366 * @atomicservice 367 * @since 12 368 */ 369 fontColor?: ResourceColor; 370 371 /** 372 * The font color of selected button. 373 * 374 * @type { ?ResourceColor } 375 * @syscap SystemCapability.ArkUI.ArkUI.Full 376 * @crossplatform 377 * @since 11 378 */ 379 /** 380 * The font color of selected button. 381 * 382 * @type { ?ResourceColor } 383 * @syscap SystemCapability.ArkUI.ArkUI.Full 384 * @crossplatform 385 * @atomicservice 386 * @since 12 387 */ 388 selectedFontColor?: ResourceColor; 389 390 /** 391 * The font size of buttons. 392 * 393 * @type { ?DimensionNoPercentage } 394 * @default $r('sys.float.ohos_id_text_size_body2') 395 * @syscap SystemCapability.ArkUI.ArkUI.Full 396 * @crossplatform 397 * @since 11 398 */ 399 /** 400 * The font size of buttons. 401 * 402 * @type { ?DimensionNoPercentage } 403 * @default $r('sys.float.ohos_id_text_size_body2') 404 * @syscap SystemCapability.ArkUI.ArkUI.Full 405 * @crossplatform 406 * @atomicservice 407 * @since 12 408 */ 409 fontSize?: DimensionNoPercentage; 410 411 /** 412 * The font size of selected button. 413 * 414 * @type { ?DimensionNoPercentage } 415 * @default $r('sys.float.ohos_id_text_size_body2') 416 * @syscap SystemCapability.ArkUI.ArkUI.Full 417 * @crossplatform 418 * @since 11 419 */ 420 /** 421 * The font size of selected button. 422 * 423 * @type { ?DimensionNoPercentage } 424 * @default $r('sys.float.ohos_id_text_size_body2') 425 * @syscap SystemCapability.ArkUI.ArkUI.Full 426 * @crossplatform 427 * @atomicservice 428 * @since 12 429 */ 430 selectedFontSize?: DimensionNoPercentage; 431 432 /** 433 * The font weight of buttons. 434 * 435 * @type { ?FontWeight } 436 * @default FontWeight.Regular 437 * @syscap SystemCapability.ArkUI.ArkUI.Full 438 * @crossplatform 439 * @since 11 440 */ 441 /** 442 * The font weight of buttons. 443 * 444 * @type { ?FontWeight } 445 * @default FontWeight.Regular 446 * @syscap SystemCapability.ArkUI.ArkUI.Full 447 * @crossplatform 448 * @atomicservice 449 * @since 12 450 */ 451 fontWeight?: FontWeight; 452 453 /** 454 * The font weight of selected button. 455 * 456 * @type { ?FontWeight } 457 * @default FontWeight.Medium 458 * @syscap SystemCapability.ArkUI.ArkUI.Full 459 * @crossplatform 460 * @since 11 461 */ 462 /** 463 * The font weight of selected button. 464 * 465 * @type { ?FontWeight } 466 * @default FontWeight.Medium 467 * @syscap SystemCapability.ArkUI.ArkUI.Full 468 * @crossplatform 469 * @atomicservice 470 * @since 12 471 */ 472 selectedFontWeight?: FontWeight; 473 474 /** 475 * The background color of SegmentButton. 476 * 477 * @type { ?ResourceColor } 478 * @default $r('sys.color.ohos_id_color_button_normal') 479 * @syscap SystemCapability.ArkUI.ArkUI.Full 480 * @crossplatform 481 * @since 11 482 */ 483 /** 484 * The background color of SegmentButton. 485 * 486 * @type { ?ResourceColor } 487 * @default $r('sys.color.ohos_id_color_button_normal') 488 * @syscap SystemCapability.ArkUI.ArkUI.Full 489 * @crossplatform 490 * @atomicservice 491 * @since 12 492 */ 493 backgroundColor?: ResourceColor; 494 495 /** 496 * The background color of selected button. 497 * 498 * @type { ?ResourceColor } 499 * @syscap SystemCapability.ArkUI.ArkUI.Full 500 * @crossplatform 501 * @since 11 502 */ 503 /** 504 * The background color of selected button. 505 * 506 * @type { ?ResourceColor } 507 * @syscap SystemCapability.ArkUI.ArkUI.Full 508 * @crossplatform 509 * @atomicservice 510 * @since 12 511 */ 512 selectedBackgroundColor?: ResourceColor; 513 514 /** 515 * The image size of buttons. 516 * 517 * @type { ?SizeOptions } 518 * @default SizeOptions { width: 24, height: 24 } 519 * @syscap SystemCapability.ArkUI.ArkUI.Full 520 * @crossplatform 521 * @since 11 522 */ 523 /** 524 * The image size of buttons. 525 * 526 * @type { ?SizeOptions } 527 * @default SizeOptions { width: 24, height: 24 } 528 * @syscap SystemCapability.ArkUI.ArkUI.Full 529 * @crossplatform 530 * @atomicservice 531 * @since 12 532 */ 533 imageSize?: SizeOptions; 534 535 /** 536 * The padding of buttons. 537 * 538 * @type { ?Padding | Dimension } 539 * @default For text only / icon only buttons Padding { top: 4, right: 8, bottom: 4, left: 8 }. 540 * For text & icon buttons Padding { top: 6, right: 8, bottom: 6, left: 8 }. 541 * @syscap SystemCapability.ArkUI.ArkUI.Full 542 * @crossplatform 543 * @since 11 544 */ 545 /** 546 * The padding of buttons. 547 * 548 * @type { ?Padding | Dimension } 549 * @default For text only / icon only buttons Padding { top: 4, right: 8, bottom: 4, left: 8 }. 550 * For text & icon buttons Padding { top: 6, right: 8, bottom: 6, left: 8 }. 551 * @syscap SystemCapability.ArkUI.ArkUI.Full 552 * @crossplatform 553 * @atomicservice 554 * @since 12 555 */ 556 buttonPadding?: Padding | Dimension; 557 558 /** 559 * The localized padding of buttons. 560 * 561 * @type { ?LocalizedPadding } 562 * @default For text only / icon only buttons LocalizedPadding 563 * { top: LengthMetrics.vp(4), end: LengthMetrics.vp(8), bottom: LengthMetrics.vp(4), start: LengthMetrics.vp(8) }. 564 * For text & icon buttons LocalizedPadding 565 * {{ top: LengthMetrics.vp(6), end: LengthMetrics.vp(8), bottom: LengthMetrics.vp(6), start: LengthMetrics.vp(8) }. 566 * @syscap SystemCapability.ArkUI.ArkUI.Full 567 * @crossplatform 568 * @atomicservice 569 * @since 12 570 */ 571 localizedButtonPadding?: LocalizedPadding; 572 573 /** 574 * The padding of text in button. 575 * 576 * @type { ?Padding | Dimension } 577 * @default 0 578 * @syscap SystemCapability.ArkUI.ArkUI.Full 579 * @crossplatform 580 * @since 11 581 */ 582 /** 583 * The padding of text in button. 584 * 585 * @type { ?Padding | Dimension } 586 * @default 0 587 * @syscap SystemCapability.ArkUI.ArkUI.Full 588 * @crossplatform 589 * @atomicservice 590 * @since 12 591 */ 592 textPadding?: Padding | Dimension; 593 594 /** 595 * The localized padding of text in button. 596 * 597 * @type { ?LocalizedPadding } 598 * @syscap SystemCapability.ArkUI.ArkUI.Full 599 * @crossplatform 600 * @atomicservice 601 * @since 12 602 */ 603 localizedTextPadding?: LocalizedPadding; 604 605 /** 606 * The blurStyle of background. 607 * 608 * @type { ?BlurStyle } 609 * @syscap SystemCapability.ArkUI.ArkUI.Full 610 * @crossplatform 611 * @since 11 612 */ 613 /** 614 * The blurStyle of background. 615 * 616 * @type { ?BlurStyle } 617 * @syscap SystemCapability.ArkUI.ArkUI.Full 618 * @crossplatform 619 * @atomicservice 620 * @since 12 621 */ 622 backgroundBlurStyle?: BlurStyle; 623 624 /** 625 * Indicates the attribute of the current segment button direction. 626 * 627 * @type { ?Direction } 628 * @syscap SystemCapability.ArkUI.ArkUI.Full 629 * @crossplatform 630 * @atomicservice 631 * @since 12 632 */ 633 direction?: Direction; 634} 635 636/** 637 * Defines the ItemRestriction type. 638 * 639 * @syscap SystemCapability.ArkUI.ArkUI.Full 640 * @crossplatform 641 * @since 11 642 */ 643 /** 644 * Defines the ItemRestriction type. 645 * 646 * @syscap SystemCapability.ArkUI.ArkUI.Full 647 * @crossplatform 648 * @atomicservice 649 * @since 12 650 */ 651declare type ItemRestriction<T> = [T, T, T?, T?, T?]; 652 653/** 654 * Defines the SegmentButtonItemTuple type. 655 * 656 * @syscap SystemCapability.ArkUI.ArkUI.Full 657 * @crossplatform 658 * @since 11 659 */ 660 /** 661 * Defines the SegmentButtonItemTuple type. 662 * 663 * @syscap SystemCapability.ArkUI.ArkUI.Full 664 * @crossplatform 665 * @atomicservice 666 * @since 12 667 */ 668declare type SegmentButtonItemTuple = ItemRestriction<SegmentButtonTextItem> | ItemRestriction<SegmentButtonIconItem> | ItemRestriction<SegmentButtonIconTextItem>; 669 670/** 671 * Defines the SegmentButtonItemArray type. 672 * 673 * @syscap SystemCapability.ArkUI.ArkUI.Full 674 * @crossplatform 675 * @since 11 676 */ 677 /** 678 * Defines the SegmentButtonItemArray type. 679 * 680 * @syscap SystemCapability.ArkUI.ArkUI.Full 681 * @crossplatform 682 * @atomicservice 683 * @since 12 684 */ 685declare type SegmentButtonItemArray = Array<SegmentButtonTextItem> | Array<SegmentButtonIconItem> | Array<SegmentButtonIconTextItem>; 686 687/** 688 * Defines SegmentButton tab options. 689 * 690 * @interface TabSegmentButtonConstructionOptions 691 * @extends CommonSegmentButtonOptions 692 * @syscap SystemCapability.ArkUI.ArkUI.Full 693 * @crossplatform 694 * @since 11 695 */ 696 /** 697 * Defines SegmentButton tab options. 698 * 699 * @interface TabSegmentButtonConstructionOptions 700 * @extends CommonSegmentButtonOptions 701 * @syscap SystemCapability.ArkUI.ArkUI.Full 702 * @crossplatform 703 * @atomicservice 704 * @since 12 705 */ 706interface TabSegmentButtonConstructionOptions extends CommonSegmentButtonOptions { 707 /** 708 * The items of tab type of SegmentButton. 709 * 710 * @type { ItemRestriction<SegmentButtonTextItem> } 711 * @syscap SystemCapability.ArkUI.ArkUI.Full 712 * @crossplatform 713 * @since 11 714 */ 715 /** 716 * The items of tab type of SegmentButton. 717 * 718 * @type { ItemRestriction<SegmentButtonTextItem> } 719 * @syscap SystemCapability.ArkUI.ArkUI.Full 720 * @crossplatform 721 * @atomicservice 722 * @since 12 723 */ 724 buttons: ItemRestriction<SegmentButtonTextItem>; 725} 726 727/** 728 * Defines SegmentButton capsule options. 729 * 730 * @interface CapsuleSegmentButtonConstructionOptions 731 * @extends CommonSegmentButtonOptions 732 * @syscap SystemCapability.ArkUI.ArkUI.Full 733 * @crossplatform 734 * @since 11 735 */ 736 /** 737 * Defines SegmentButton capsule options. 738 * 739 * @interface CapsuleSegmentButtonConstructionOptions 740 * @extends CommonSegmentButtonOptions 741 * @syscap SystemCapability.ArkUI.ArkUI.Full 742 * @crossplatform 743 * @atomicservice 744 * @since 12 745 */ 746interface CapsuleSegmentButtonConstructionOptions extends CommonSegmentButtonOptions { 747 /** 748 * The items of capsule type of SegmentButton. 749 * 750 * @type { SegmentButtonItemTuple } 751 * @syscap SystemCapability.ArkUI.ArkUI.Full 752 * @crossplatform 753 * @since 11 754 */ 755 /** 756 * The items of capsule type of SegmentButton. 757 * 758 * @type { SegmentButtonItemTuple } 759 * @syscap SystemCapability.ArkUI.ArkUI.Full 760 * @crossplatform 761 * @atomicservice 762 * @since 12 763 */ 764 buttons: SegmentButtonItemTuple; 765 766 /** 767 * Support multiple selections flag. 768 * 769 * @type { ?boolean } 770 * @default false 771 * @syscap SystemCapability.ArkUI.ArkUI.Full 772 * @crossplatform 773 * @since 11 774 */ 775 /** 776 * Support multiple selections flag. 777 * 778 * @type { ?boolean } 779 * @default false 780 * @syscap SystemCapability.ArkUI.ArkUI.Full 781 * @crossplatform 782 * @atomicservice 783 * @since 12 784 */ 785 multiply?: boolean; 786} 787 788/** 789 * Defines the type of SegmentButton options of tab type. 790 * 791 * @interface TabSegmentButtonOptions 792 * @extends TabSegmentButtonConstructionOptions 793 * @syscap SystemCapability.ArkUI.ArkUI.Full 794 * @crossplatform 795 * @since 11 796 */ 797 /** 798 * Defines the type of SegmentButton options of tab type. 799 * 800 * @interface TabSegmentButtonOptions 801 * @extends TabSegmentButtonConstructionOptions 802 * @syscap SystemCapability.ArkUI.ArkUI.Full 803 * @crossplatform 804 * @atomicservice 805 * @since 12 806 */ 807interface TabSegmentButtonOptions extends TabSegmentButtonConstructionOptions { 808 /** 809 * The type of SegmentButton. 810 * 811 * @type { "tab" } 812 * @syscap SystemCapability.ArkUI.ArkUI.Full 813 * @crossplatform 814 * @since 11 815 */ 816 /** 817 * The type of SegmentButton. 818 * 819 * @type { "tab" } 820 * @syscap SystemCapability.ArkUI.ArkUI.Full 821 * @crossplatform 822 * @atomicservice 823 * @since 12 824 */ 825 type: "tab"; 826} 827 828/** 829 * Defines the type of SegmentButton options of capsule type. 830 * 831 * @interface CapsuleSegmentButtonOptions 832 * @extends CapsuleSegmentButtonConstructionOptions 833 * @syscap SystemCapability.ArkUI.ArkUI.Full 834 * @crossplatform 835 * @since 11 836 */ 837 /** 838 * Defines the type of SegmentButton options of capsule type. 839 * 840 * @interface CapsuleSegmentButtonOptions 841 * @extends CapsuleSegmentButtonConstructionOptions 842 * @syscap SystemCapability.ArkUI.ArkUI.Full 843 * @crossplatform 844 * @atomicservice 845 * @since 12 846 */ 847interface CapsuleSegmentButtonOptions extends CapsuleSegmentButtonConstructionOptions { 848 /** 849 * The type of SegmentButton. 850 * 851 * @type { "capsule" } 852 * @syscap SystemCapability.ArkUI.ArkUI.Full 853 * @crossplatform 854 * @since 11 855 */ 856 /** 857 * The type of SegmentButton. 858 * 859 * @type { "capsule" } 860 * @syscap SystemCapability.ArkUI.ArkUI.Full 861 * @crossplatform 862 * @atomicservice 863 * @since 12 864 */ 865 type: "capsule"; 866} 867 868/** 869 * Construct parameter types for SegmentButtonItemOptions. 870 * 871 * @syscap SystemCapability.ArkUI.ArkUI.Full 872 * @crossplatform 873 * @since 11 874 */ 875 /** 876 * Construct parameter types for SegmentButtonItemOptions. 877 * 878 * @syscap SystemCapability.ArkUI.ArkUI.Full 879 * @crossplatform 880 * @atomicservice 881 * @since 12 882 */ 883interface SegmentButtonItemOptionsConstructorOptions { 884 /** 885 * The icon of icon and text item. 886 * 887 * @type { ?ResourceStr } 888 * @syscap SystemCapability.ArkUI.ArkUI.Full 889 * @crossplatform 890 * @since 11 891 */ 892 /** 893 * The icon of icon and text item. 894 * 895 * @type { ?ResourceStr } 896 * @syscap SystemCapability.ArkUI.ArkUI.Full 897 * @crossplatform 898 * @atomicservice 899 * @since 12 900 */ 901 icon?: ResourceStr; 902 903 /** 904 * The accessibilityText of icon. 905 * 906 * @type { ?ResourceStr } 907 * @default "" 908 * @syscap SystemCapability.ArkUI.ArkUI.Full 909 * @crossplatform 910 * @atomicservice 911 * @since 13 912 */ 913 iconAccessibilityText?: ResourceStr; 914 915 /** 916 * The icon of icon and text item in the selected state. 917 * 918 * @type { ?ResourceStr } 919 * @syscap SystemCapability.ArkUI.ArkUI.Full 920 * @crossplatform 921 * @since 11 922 */ 923 /** 924 * The icon of icon and text item in the selected state. 925 * 926 * @type { ?ResourceStr } 927 * @syscap SystemCapability.ArkUI.ArkUI.Full 928 * @crossplatform 929 * @atomicservice 930 * @since 12 931 */ 932 selectedIcon?: ResourceStr; 933 934 /** 935 * The accessibilityText of selectedIcon. 936 * 937 * @type { ?ResourceStr } 938 * @default "" 939 * @syscap SystemCapability.ArkUI.ArkUI.Full 940 * @crossplatform 941 * @atomicservice 942 * @since 13 943 */ 944 selectedIconAccessibilityText?: ResourceStr; 945 946 /** 947 * The text of icon and text item. 948 * 949 * @type { ?ResourceStr } 950 * @syscap SystemCapability.ArkUI.ArkUI.Full 951 * @crossplatform 952 * @since 11 953 */ 954 /** 955 * The text of icon and text item. 956 * 957 * @type { ?ResourceStr } 958 * @syscap SystemCapability.ArkUI.ArkUI.Full 959 * @crossplatform 960 * @atomicservice 961 * @since 12 962 */ 963 text?: ResourceStr; 964 965 /** 966 * The accessibilityLevel of buttonItem. 967 * 968 * @type { ?string } 969 * @default "auto" 970 * @syscap SystemCapability.ArkUI.ArkUI.Full 971 * @crossplatform 972 * @atomicservice 973 * @since 13 974 */ 975 accessibilityLevel?: string; 976 977 /** 978 * The accessibilityDescription of buttonItem. 979 * 980 * @type { ?ResourceStr } 981 * @default "" 982 * @syscap SystemCapability.ArkUI.ArkUI.Full 983 * @crossplatform 984 * @atomicservice 985 * @since 13 986 */ 987 accessibilityDescription?: ResourceStr; 988} 989 990/** 991 * The options for SegmentButton items. 992 * 993 * @syscap SystemCapability.ArkUI.ArkUI.Full 994 * @crossplatform 995 * @since 11 996 */ 997 /** 998 * The options for SegmentButton items. 999 * 1000 * @syscap SystemCapability.ArkUI.ArkUI.Full 1001 * @crossplatform 1002 * @atomicservice 1003 * @since 12 1004 */ 1005@Observed 1006declare class SegmentButtonItemOptions { 1007 /** 1008 * The icon of item. 1009 * 1010 * @type { ?ResourceStr } 1011 * @syscap SystemCapability.ArkUI.ArkUI.Full 1012 * @crossplatform 1013 * @since 11 1014 */ 1015 /** 1016 * The icon of item. 1017 * 1018 * @type { ?ResourceStr } 1019 * @syscap SystemCapability.ArkUI.ArkUI.Full 1020 * @crossplatform 1021 * @atomicservice 1022 * @since 12 1023 */ 1024 icon?: ResourceStr; 1025 1026 /** 1027 * The accessibilityText of icon. 1028 * 1029 * @type { ?ResourceStr } 1030 * @default "" 1031 * @syscap SystemCapability.ArkUI.ArkUI.Full 1032 * @crossplatform 1033 * @atomicservice 1034 * @since 13 1035 */ 1036 iconAccessibilityText?: ResourceStr; 1037 1038 /** 1039 * The icon of selected item. 1040 * 1041 * @type { ?ResourceStr } 1042 * @syscap SystemCapability.ArkUI.ArkUI.Full 1043 * @crossplatform 1044 * @since 11 1045 */ 1046 /** 1047 * The icon of selected item. 1048 * 1049 * @type { ?ResourceStr } 1050 * @syscap SystemCapability.ArkUI.ArkUI.Full 1051 * @crossplatform 1052 * @atomicservice 1053 * @since 12 1054 */ 1055 selectedIcon?: ResourceStr; 1056 1057 /** 1058 * The accessibilityText of selectedIcon. 1059 * 1060 * @type { ?ResourceStr } 1061 * @default "" 1062 * @syscap SystemCapability.ArkUI.ArkUI.Full 1063 * @crossplatform 1064 * @atomicservice 1065 * @since 13 1066 */ 1067 selectedIconAccessibilityText?: ResourceStr; 1068 1069 /** 1070 * The text of item. 1071 * 1072 * @type { ?ResourceStr } 1073 * @syscap SystemCapability.ArkUI.ArkUI.Full 1074 * @crossplatform 1075 * @since 11 1076 */ 1077 /** 1078 * The text of item. 1079 * 1080 * @type { ?ResourceStr } 1081 * @syscap SystemCapability.ArkUI.ArkUI.Full 1082 * @crossplatform 1083 * @atomicservice 1084 * @since 12 1085 */ 1086 text?: ResourceStr; 1087 1088 /** 1089 * The accessibilityLevel of buttonItem. 1090 * 1091 * @type { ?string } 1092 * @default "auto" 1093 * @syscap SystemCapability.ArkUI.ArkUI.Full 1094 * @crossplatform 1095 * @atomicservice 1096 * @since 13 1097 */ 1098 accessibilityLevel?: string; 1099 1100 /** 1101 * The accessibilityDescription of buttonItem. 1102 * 1103 * @type { ?ResourceStr } 1104 * @default "" 1105 * @syscap SystemCapability.ArkUI.ArkUI.Full 1106 * @crossplatform 1107 * @atomicservice 1108 * @since 13 1109 */ 1110 accessibilityDescription?: ResourceStr; 1111 1112 /** 1113 * The constructor used to create a SegmentButtonOptionsArray object. 1114 * 1115 * @param { SegmentButtonItemOptionsConstructorOptions } options - item info. 1116 * @syscap SystemCapability.ArkUI.ArkUI.Full 1117 * @crossplatform 1118 * @since 11 1119 */ 1120 /** 1121 * The constructor used to create a SegmentButtonOptionsArray object. 1122 * 1123 * @param { SegmentButtonItemOptionsConstructorOptions } options - item info. 1124 * @syscap SystemCapability.ArkUI.ArkUI.Full 1125 * @crossplatform 1126 * @atomicservice 1127 * @since 12 1128 */ 1129 constructor(options: SegmentButtonItemOptionsConstructorOptions); 1130} 1131 1132/** 1133 * The class for SegmentButton item options array. 1134 * 1135 * @extends Array<SegmentButtonItemOptions> 1136 * @syscap SystemCapability.ArkUI.ArkUI.Full 1137 * @crossplatform 1138 * @since 11 1139 */ 1140 /** 1141 * The class for SegmentButton item options array. 1142 * 1143 * @extends Array<SegmentButtonItemOptions> 1144 * @syscap SystemCapability.ArkUI.ArkUI.Full 1145 * @crossplatform 1146 * @atomicservice 1147 * @since 12 1148 */ 1149@Observed 1150declare class SegmentButtonItemOptionsArray extends Array<SegmentButtonItemOptions> { 1151 /** 1152 * The constructor used to create a SegmentButtonItemOptionsArray object. 1153 * 1154 * @param { SegmentButtonItemTuple } elements - The SegmentButton items. 1155 * @syscap SystemCapability.ArkUI.ArkUI.Full 1156 * @crossplatform 1157 * @since 11 1158 */ 1159 /** 1160 * The constructor used to create a SegmentButtonItemOptionsArray object. 1161 * 1162 * @param { SegmentButtonItemTuple } elements - The SegmentButton items. 1163 * @syscap SystemCapability.ArkUI.ArkUI.Full 1164 * @crossplatform 1165 * @atomicservice 1166 * @since 12 1167 */ 1168 constructor(elements: SegmentButtonItemTuple); 1169 1170 /** 1171 * Appends new elements to the end of SegmentButtonItemOptionsArray. 1172 * 1173 * @param { SegmentButtonItemArray } items - New elements to add to SegmentButtonItemOptionsArray. 1174 * @returns { number } Returns the new length of SegmentButtonItemOptionsArray. 1175 * @syscap SystemCapability.ArkUI.ArkUI.Full 1176 * @crossplatform 1177 * @since 11 1178 */ 1179 /** 1180 * Appends new elements to the end of SegmentButtonItemOptionsArray. 1181 * 1182 * @param { SegmentButtonItemArray } items - New elements to add to SegmentButtonItemOptionsArray. 1183 * @returns { number } Returns the new length of SegmentButtonItemOptionsArray. 1184 * @syscap SystemCapability.ArkUI.ArkUI.Full 1185 * @crossplatform 1186 * @atomicservice 1187 * @since 12 1188 */ 1189 push(...items: SegmentButtonItemArray): number; 1190 1191 /** 1192 * Removes the last element from SegmentButtonItemOptionsArray. 1193 * 1194 * @returns { SegmentButtonItemOptions | undefined } Returns the removed element. 1195 * @syscap SystemCapability.ArkUI.ArkUI.Full 1196 * @crossplatform 1197 * @since 11 1198 */ 1199 /** 1200 * Removes the last element from SegmentButtonItemOptionsArray. 1201 * 1202 * @returns { SegmentButtonItemOptions | undefined } Returns the removed element. 1203 * @syscap SystemCapability.ArkUI.ArkUI.Full 1204 * @crossplatform 1205 * @atomicservice 1206 * @since 12 1207 */ 1208 pop(): SegmentButtonItemOptions | undefined; 1209 1210 /** 1211 * Removes the first element from SegmentButtonItemOptionsArray. 1212 * 1213 * @returns { SegmentButtonItemOptions | undefined } Returns the removed element. 1214 * @syscap SystemCapability.ArkUI.ArkUI.Full 1215 * @crossplatform 1216 * @since 11 1217 */ 1218 /** 1219 * Removes the first element from SegmentButtonItemOptionsArray. 1220 * 1221 * @returns { SegmentButtonItemOptions | undefined } Returns the removed element. 1222 * @syscap SystemCapability.ArkUI.ArkUI.Full 1223 * @crossplatform 1224 * @atomicservice 1225 * @since 12 1226 */ 1227 shift(): SegmentButtonItemOptions | undefined; 1228 1229 /** 1230 * Appends new elements to the start of SegmentButtonItemOptionsArray. 1231 * 1232 * @param { SegmentButtonItemArray } items - New elements to add to SegmentButtonItemOptionsArray. 1233 * @returns { number } Returns the new length of SegmentButtonItemOptionsArray. 1234 * @syscap SystemCapability.ArkUI.ArkUI.Full 1235 * @crossplatform 1236 * @since 11 1237 */ 1238 /** 1239 * Appends new elements to the start of SegmentButtonItemOptionsArray. 1240 * 1241 * @param { SegmentButtonItemArray } items - New elements to add to SegmentButtonItemOptionsArray. 1242 * @returns { number } Returns the new length of SegmentButtonItemOptionsArray. 1243 * @syscap SystemCapability.ArkUI.ArkUI.Full 1244 * @crossplatform 1245 * @atomicservice 1246 * @since 12 1247 */ 1248 unshift(...items: SegmentButtonItemArray): number; 1249 1250 /** 1251 * Changes the elements of SegmentButtonItemOptionsArray by removing or replacing existing elements and/or adding new elements in place. 1252 * 1253 * @param { number } start - The zero-based location in the array from which to start removing elements. 1254 * @param { number } deleteCount - The number of elements to remove. 1255 * @param { SegmentButtonItemOptions[] } items - Elements to insert into the array in place of the deleted elements. 1256 * @returns { SegmentButtonItemOptions[] } Returns a SegmentButtonItemOptions array containing the deleted elements. 1257 * @syscap SystemCapability.ArkUI.ArkUI.Full 1258 * @crossplatform 1259 * @since 11 1260 */ 1261 /** 1262 * Changes the elements of SegmentButtonItemOptionsArray by removing or replacing existing elements and/or adding new elements in place. 1263 * 1264 * @param { number } start - The zero-based location in the array from which to start removing elements. 1265 * @param { number } deleteCount - The number of elements to remove. 1266 * @param { SegmentButtonItemOptions[] } items - Elements to insert into the array in place of the deleted elements. 1267 * @returns { SegmentButtonItemOptions[] } Returns a SegmentButtonItemOptions array containing the deleted elements. 1268 * @syscap SystemCapability.ArkUI.ArkUI.Full 1269 * @crossplatform 1270 * @atomicservice 1271 * @since 12 1272 */ 1273 splice(start: number, deleteCount: number, ...items: SegmentButtonItemOptions[]): SegmentButtonItemOptions[]; 1274 1275 /** 1276 * The function used to create a SegmentButtonItemOptionsArray object. 1277 * 1278 * @param { SegmentButtonItemTuple } elements - The SegmentButton items. 1279 * @returns { SegmentButtonItemOptionsArray } Returns the a new SegmentButtonItemOptionsArray object. 1280 * @syscap SystemCapability.ArkUI.ArkUI.Full 1281 * @crossplatform 1282 * @since 11 1283 */ 1284 /** 1285 * The function used to create a SegmentButtonItemOptionsArray object. 1286 * 1287 * @param { SegmentButtonItemTuple } elements - The SegmentButton items. 1288 * @returns { SegmentButtonItemOptionsArray } Returns the a new SegmentButtonItemOptionsArray object. 1289 * @syscap SystemCapability.ArkUI.ArkUI.Full 1290 * @crossplatform 1291 * @atomicservice 1292 * @since 12 1293 */ 1294 static create(elements: SegmentButtonItemTuple): SegmentButtonItemOptionsArray; 1295} 1296 1297/** 1298 * The class for SegmentButton options. 1299 * 1300 * @syscap SystemCapability.ArkUI.ArkUI.Full 1301 * @crossplatform 1302 * @since 11 1303 */ 1304 /** 1305 * The class for SegmentButton options. 1306 * 1307 * @syscap SystemCapability.ArkUI.ArkUI.Full 1308 * @crossplatform 1309 * @atomicservice 1310 * @since 12 1311 */ 1312@Observed 1313declare class SegmentButtonOptions { 1314 /** 1315 * The type of SegmentButton. 1316 * 1317 * @type { "tab" | "capsule" } 1318 * @syscap SystemCapability.ArkUI.ArkUI.Full 1319 * @crossplatform 1320 * @since 11 1321 */ 1322 /** 1323 * The type of SegmentButton. 1324 * 1325 * @type { "tab" | "capsule" } 1326 * @syscap SystemCapability.ArkUI.ArkUI.Full 1327 * @crossplatform 1328 * @atomicservice 1329 * @since 12 1330 */ 1331 type: "tab" | "capsule"; 1332 1333 /** 1334 * The support multiple selections flag of SegmentButton. 1335 * 1336 * @type { boolean } 1337 * @syscap SystemCapability.ArkUI.ArkUI.Full 1338 * @crossplatform 1339 * @since 11 1340 */ 1341 /** 1342 * The support multiple selections flag of SegmentButton. 1343 * 1344 * @type { boolean } 1345 * @syscap SystemCapability.ArkUI.ArkUI.Full 1346 * @crossplatform 1347 * @atomicservice 1348 * @since 12 1349 */ 1350 multiply: boolean; 1351 1352 /** 1353 * The buttons information of SegmentButton. 1354 * 1355 * @type { SegmentButtonOptionsArray } 1356 * @syscap SystemCapability.ArkUI.ArkUI.Full 1357 * @crossplatform 1358 * @since 11 1359 */ 1360 /** 1361 * The buttons information of SegmentButton. 1362 * 1363 * @type { SegmentButtonOptionsArray } 1364 * @syscap SystemCapability.ArkUI.ArkUI.Full 1365 * @crossplatform 1366 * @atomicservice 1367 * @since 12 1368 */ 1369 buttons: SegmentButtonItemOptionsArray; 1370 1371 /** 1372 * The font color of buttons. 1373 * 1374 * @type { ResourceColor } 1375 * @syscap SystemCapability.ArkUI.ArkUI.Full 1376 * @crossplatform 1377 * @since 11 1378 */ 1379 /** 1380 * The font color of buttons. 1381 * 1382 * @type { ResourceColor } 1383 * @syscap SystemCapability.ArkUI.ArkUI.Full 1384 * @crossplatform 1385 * @atomicservice 1386 * @since 12 1387 */ 1388 fontColor: ResourceColor; 1389 1390 /** 1391 * The font color of selected button. 1392 * 1393 * @type { ResourceColor } 1394 * @syscap SystemCapability.ArkUI.ArkUI.Full 1395 * @crossplatform 1396 * @since 11 1397 */ 1398 /** 1399 * The font color of selected button. 1400 * 1401 * @type { ResourceColor } 1402 * @syscap SystemCapability.ArkUI.ArkUI.Full 1403 * @crossplatform 1404 * @atomicservice 1405 * @since 12 1406 */ 1407 selectedFontColor: ResourceColor; 1408 1409 /** 1410 * The font size of buttons. 1411 * 1412 * @type { DimensionNoPercentage } 1413 * @syscap SystemCapability.ArkUI.ArkUI.Full 1414 * @crossplatform 1415 * @since 11 1416 */ 1417 /** 1418 * The font size of buttons. 1419 * 1420 * @type { DimensionNoPercentage } 1421 * @syscap SystemCapability.ArkUI.ArkUI.Full 1422 * @crossplatform 1423 * @atomicservice 1424 * @since 12 1425 */ 1426 fontSize: DimensionNoPercentage; 1427 1428 /** 1429 * The font size of selected button. 1430 * 1431 * @type { DimensionNoPercentage } 1432 * @syscap SystemCapability.ArkUI.ArkUI.Full 1433 * @crossplatform 1434 * @since 11 1435 */ 1436 /** 1437 * The font size of selected button. 1438 * 1439 * @type { DimensionNoPercentage } 1440 * @syscap SystemCapability.ArkUI.ArkUI.Full 1441 * @crossplatform 1442 * @atomicservice 1443 * @since 12 1444 */ 1445 selectedFontSize: DimensionNoPercentage; 1446 1447 /** 1448 * The font weight of buttons. 1449 * 1450 * @type { FontWeight } 1451 * @syscap SystemCapability.ArkUI.ArkUI.Full 1452 * @crossplatform 1453 * @since 11 1454 */ 1455 /** 1456 * The font weight of buttons. 1457 * 1458 * @type { FontWeight } 1459 * @syscap SystemCapability.ArkUI.ArkUI.Full 1460 * @crossplatform 1461 * @atomicservice 1462 * @since 12 1463 */ 1464 fontWeight: FontWeight; 1465 1466 /** 1467 * The font weight of selected button. 1468 * 1469 * @type { FontWeight } 1470 * @syscap SystemCapability.ArkUI.ArkUI.Full 1471 * @crossplatform 1472 * @since 11 1473 */ 1474 /** 1475 * The font weight of selected button. 1476 * 1477 * @type { FontWeight } 1478 * @syscap SystemCapability.ArkUI.ArkUI.Full 1479 * @crossplatform 1480 * @atomicservice 1481 * @since 12 1482 */ 1483 selectedFontWeight: FontWeight; 1484 1485 /** 1486 * The background color of SegmentButton. 1487 * 1488 * @type { ResourceColor } 1489 * @syscap SystemCapability.ArkUI.ArkUI.Full 1490 * @crossplatform 1491 * @since 11 1492 */ 1493 /** 1494 * The background color of SegmentButton. 1495 * 1496 * @type { ResourceColor } 1497 * @syscap SystemCapability.ArkUI.ArkUI.Full 1498 * @crossplatform 1499 * @atomicservice 1500 * @since 12 1501 */ 1502 backgroundColor: ResourceColor; 1503 1504 /** 1505 * The background color of selected button. 1506 * 1507 * @type { ResourceColor } 1508 * @syscap SystemCapability.ArkUI.ArkUI.Full 1509 * @crossplatform 1510 * @since 11 1511 */ 1512 /** 1513 * The background color of selected button. 1514 * 1515 * @type { ResourceColor } 1516 * @syscap SystemCapability.ArkUI.ArkUI.Full 1517 * @crossplatform 1518 * @atomicservice 1519 * @since 12 1520 */ 1521 selectedBackgroundColor: ResourceColor; 1522 1523 /** 1524 * The image size of buttons. 1525 * 1526 * @type { SizeOptions } 1527 * @syscap SystemCapability.ArkUI.ArkUI.Full 1528 * @crossplatform 1529 * @since 11 1530 */ 1531 /** 1532 * The image size of buttons. 1533 * 1534 * @type { SizeOptions } 1535 * @syscap SystemCapability.ArkUI.ArkUI.Full 1536 * @crossplatform 1537 * @atomicservice 1538 * @since 12 1539 */ 1540 imageSize: SizeOptions; 1541 1542 /** 1543 * The padding of buttons. 1544 * 1545 * @type { Padding | Dimension } 1546 * @syscap SystemCapability.ArkUI.ArkUI.Full 1547 * @crossplatform 1548 * @since 11 1549 */ 1550 /** 1551 * The padding of buttons. 1552 * 1553 * @type { Padding | Dimension } 1554 * @syscap SystemCapability.ArkUI.ArkUI.Full 1555 * @crossplatform 1556 * @atomicservice 1557 * @since 12 1558 */ 1559 buttonPadding: Padding | Dimension; 1560 1561 /** 1562 * The localized padding of buttons. 1563 * 1564 * @type { ?LocalizedPadding } 1565 * @syscap SystemCapability.ArkUI.ArkUI.Full 1566 * @crossplatform 1567 * @atomicservice 1568 * @since 12 1569 */ 1570 localizedButtonPadding?: LocalizedPadding; 1571 1572 /** 1573 * The padding of text in button. 1574 * 1575 * @type { Padding | Dimension } 1576 * @syscap SystemCapability.ArkUI.ArkUI.Full 1577 * @crossplatform 1578 * @since 11 1579 */ 1580 /** 1581 * The padding of text in button. 1582 * 1583 * @type { Padding | Dimension } 1584 * @syscap SystemCapability.ArkUI.ArkUI.Full 1585 * @crossplatform 1586 * @atomicservice 1587 * @since 12 1588 */ 1589 textPadding: Padding | Dimension; 1590 1591 /** 1592 * The localized padding of text in button. 1593 * 1594 * @type { ?LocalizedPadding } 1595 * @syscap SystemCapability.ArkUI.ArkUI.Full 1596 * @crossplatform 1597 * @atomicservice 1598 * @since 12 1599 */ 1600 localizedTextPadding?: LocalizedPadding; 1601 1602 /** 1603 * The blurStyle of background. 1604 * 1605 * @type { BlurStyle } 1606 * @syscap SystemCapability.ArkUI.ArkUI.Full 1607 * @crossplatform 1608 * @since 11 1609 */ 1610 /** 1611 * The blurStyle of background. 1612 * 1613 * @type { BlurStyle } 1614 * @syscap SystemCapability.ArkUI.ArkUI.Full 1615 * @crossplatform 1616 * @atomicservice 1617 * @since 12 1618 */ 1619 backgroundBlurStyle: BlurStyle; 1620 1621 /** 1622 * The constructor used to create a SegmentButtonOptions object. 1623 * 1624 * @param { TabSegmentButtonOptions | CapsuleSegmentButtonOptions } options - The options of SegmentButton. 1625 * @syscap SystemCapability.ArkUI.ArkUI.Full 1626 * @crossplatform 1627 * @since 11 1628 */ 1629 /** 1630 * The constructor used to create a SegmentButtonOptions object. 1631 * 1632 * @param { TabSegmentButtonOptions | CapsuleSegmentButtonOptions } options - The options of SegmentButton. 1633 * @syscap SystemCapability.ArkUI.ArkUI.Full 1634 * @crossplatform 1635 * @atomicservice 1636 * @since 12 1637 */ 1638 constructor(options: TabSegmentButtonOptions | CapsuleSegmentButtonOptions); 1639 1640 /** 1641 * The function used to create a SegmentButtonOptions of tab type. 1642 * 1643 * @param { TabSegmentButtonConstructionOptions } options - The options of SegmentButton. 1644 * @returns { SegmentButtonOptions } Returns the a new SegmentButtonOptions object of tab type. 1645 * @static 1646 * @syscap SystemCapability.ArkUI.ArkUI.Full 1647 * @crossplatform 1648 * @since 11 1649 */ 1650 /** 1651 * The function used to create a SegmentButtonOptions of tab type. 1652 * 1653 * @param { TabSegmentButtonConstructionOptions } options - The options of SegmentButton. 1654 * @returns { SegmentButtonOptions } Returns the a new SegmentButtonOptions object of tab type. 1655 * @static 1656 * @syscap SystemCapability.ArkUI.ArkUI.Full 1657 * @crossplatform 1658 * @atomicservice 1659 * @since 12 1660 */ 1661 static tab(options: TabSegmentButtonConstructionOptions): SegmentButtonOptions; 1662 1663 /** 1664 * The function used to create a SegmentButtonOptions of capsule type. 1665 * 1666 * @param { CapsuleSegmentButtonConstructionOptions } options - The options of SegmentButton. 1667 * @returns { SegmentButtonOptions } Returns the a new SegmentButtonOptions object of capsule type. 1668 * @static 1669 * @syscap SystemCapability.ArkUI.ArkUI.Full 1670 * @crossplatform 1671 * @since 11 1672 */ 1673 /** 1674 * The function used to create a SegmentButtonOptions of capsule type. 1675 * 1676 * @param { CapsuleSegmentButtonConstructionOptions } options - The options of SegmentButton. 1677 * @returns { SegmentButtonOptions } Returns the a new SegmentButtonOptions object of capsule type. 1678 * @static 1679 * @syscap SystemCapability.ArkUI.ArkUI.Full 1680 * @crossplatform 1681 * @atomicservice 1682 * @since 12 1683 */ 1684 static capsule(options: CapsuleSegmentButtonConstructionOptions): SegmentButtonOptions; 1685 1686 /** 1687 * Indicates the attribute of the current segment button direction. 1688 * 1689 * @type { ?Direction } 1690 * @syscap SystemCapability.ArkUI.ArkUI.Full 1691 * @crossplatform 1692 * @atomicservice 1693 * @since 12 1694 */ 1695 direction?: Direction; 1696} 1697 1698/** 1699 * Declare Component SegmentButton 1700 * 1701 * @syscap SystemCapability.ArkUI.ArkUI.Full 1702 * @crossplatform 1703 * @since 11 1704 */ 1705 /** 1706 * Declare Component SegmentButton 1707 * 1708 * @syscap SystemCapability.ArkUI.ArkUI.Full 1709 * @crossplatform 1710 * @atomicservice 1711 * @since 12 1712 */ 1713@Component 1714declare struct SegmentButton { 1715 /** 1716 * The options of SegmentButton. 1717 * 1718 * @type { SegmentButtonOptions } 1719 * @syscap SystemCapability.ArkUI.ArkUI.Full 1720 * @crossplatform 1721 * @since 11 1722 */ 1723 /** 1724 * The options of SegmentButton. 1725 * 1726 * @type { SegmentButtonOptions } 1727 * @syscap SystemCapability.ArkUI.ArkUI.Full 1728 * @crossplatform 1729 * @atomicservice 1730 * @since 12 1731 */ 1732 @ObjectLink 1733 options: SegmentButtonOptions; 1734 1735 /** 1736 * The selectedIndex. 1737 * 1738 * @type { number[] } 1739 * @syscap SystemCapability.ArkUI.ArkUI.Full 1740 * @crossplatform 1741 * @since 11 1742 */ 1743 /** 1744 * The selectedIndex. 1745 * 1746 * @type { number[] } 1747 * @syscap SystemCapability.ArkUI.ArkUI.Full 1748 * @crossplatform 1749 * @atomicservice 1750 * @since 12 1751 */ 1752 @Link 1753 selectedIndexes: number[]; 1754 1755 /** 1756 * The max font scale of the segmented button option text. 1757 * @type { number | Resource } 1758 * @syscap SystemCapability.ArkUI.ArkUI.Full 1759 * @crossplatform 1760 * @atomicservice 1761 * @since 14 1762 */ 1763 @Prop 1764 maxFontScale: number | Resource; 1765 1766 /** 1767 * The click event callback will be triggered when a option button of SegmentButton is clicked. 1768 * 1769 * @type { ?Callback<number> } 1770 * @syscap SystemCapability.ArkUI.ArkUI.Full 1771 * @crossplatform 1772 * @atomicservice 1773 * @since 13 1774 */ 1775 onItemClicked?: Callback<number>; 1776} 1777 1778export { 1779 SegmentButton, 1780 SegmentButtonOptions, 1781 SegmentButtonItemOptionsArray, 1782 TabSegmentButtonOptions, 1783 TabSegmentButtonConstructionOptions, 1784 CapsuleSegmentButtonOptions, 1785 CapsuleSegmentButtonConstructionOptions, 1786 SegmentButtonTextItem, 1787 SegmentButtonIconItem, 1788 SegmentButtonIconTextItem, 1789 DimensionNoPercentage, 1790 CommonSegmentButtonOptions, 1791 ItemRestriction, 1792 SegmentButtonItemTuple, 1793 SegmentButtonItemArray, 1794 SegmentButtonItemOptionsConstructorOptions, 1795 SegmentButtonItemOptions 1796}; 1797