1 /* 2 * Copyright (c) 2024 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 * @addtogroup ArkUI_NativeModule 18 * @{ 19 * 20 * @brief Provides UI capabilities of ArkUI on the native side, such as UI component creation and destruction, 21 * tree node operations, attribute setting, and event listening. 22 * 23 * @since 12 24 */ 25 26 /** 27 * @file native_node.h 28 * 29 * @brief Provides type definitions for <b>NativeNode</b> APIs. 30 * 31 * @library libace_ndk.z.so 32 * @syscap SystemCapability.ArkUI.ArkUI.Full 33 * @since 12 34 */ 35 36 #ifndef ARKUI_NATIVE_NODE_H 37 #define ARKUI_NATIVE_NODE_H 38 39 #include "native_type.h" 40 #include "ui_input_event.h" 41 42 #ifdef __cplusplus 43 extern "C" { 44 #endif 45 46 #define MAX_NODE_SCOPE_NUM 1000 47 48 /** 49 * @brief Enumerates ArkUI component types that can be created on the native side. 50 * 51 * @since 12 52 */ 53 typedef enum { 54 /** Custom node. */ 55 ARKUI_NODE_CUSTOM = 0, 56 /** Text. */ 57 ARKUI_NODE_TEXT = 1, 58 /** Text span. */ 59 ARKUI_NODE_SPAN = 2, 60 /** Image span. */ 61 ARKUI_NODE_IMAGE_SPAN = 3, 62 /** Image. */ 63 ARKUI_NODE_IMAGE = 4, 64 /** Toggle. */ 65 ARKUI_NODE_TOGGLE = 5, 66 /** Loading icon. */ 67 ARKUI_NODE_LOADING_PROGRESS = 6, 68 /** Single-line text input. */ 69 ARKUI_NODE_TEXT_INPUT = 7, 70 /** Multi-line text input. */ 71 ARKUI_NODE_TEXT_AREA = 8, 72 /** Button. */ 73 ARKUI_NODE_BUTTON = 9, 74 /** Progress indicator. */ 75 ARKUI_NODE_PROGRESS = 10, 76 /** Check box. */ 77 ARKUI_NODE_CHECKBOX = 11, 78 /** XComponent. */ 79 ARKUI_NODE_XCOMPONENT = 12, 80 /** Date picker. */ 81 ARKUI_NODE_DATE_PICKER = 13, 82 /** Time picker. */ 83 ARKUI_NODE_TIME_PICKER = 14, 84 /** Text picker. */ 85 ARKUI_NODE_TEXT_PICKER = 15, 86 /** Calendar picker. */ 87 ARKUI_NODE_CALENDAR_PICKER = 16, 88 /** Slider. */ 89 ARKUI_NODE_SLIDER = 17, 90 /** Radio button. */ 91 ARKUI_NODE_RADIO = 18, 92 /** Frame-by-frame animation component. */ 93 ARKUI_NODE_IMAGE_ANIMATOR = 19, 94 /** Check box group. 95 * @since 15 96 */ 97 ARKUI_NODE_CHECKBOX_GROUP = 21, 98 /** Stack container. */ 99 ARKUI_NODE_STACK = MAX_NODE_SCOPE_NUM, 100 /** Swiper. */ 101 ARKUI_NODE_SWIPER, 102 /** Scrolling container. */ 103 ARKUI_NODE_SCROLL, 104 /** List. */ 105 ARKUI_NODE_LIST, 106 /** List item. */ 107 ARKUI_NODE_LIST_ITEM, 108 /** List item group. */ 109 ARKUI_NODE_LIST_ITEM_GROUP, 110 /** Column container. */ 111 ARKUI_NODE_COLUMN, 112 /** Row container. */ 113 ARKUI_NODE_ROW, 114 /** Flex container. */ 115 ARKUI_NODE_FLEX, 116 /** Refresh component. */ 117 ARKUI_NODE_REFRESH, 118 /** Water flow container. */ 119 ARKUI_NODE_WATER_FLOW, 120 /** Water flow item. */ 121 ARKUI_NODE_FLOW_ITEM, 122 /** Relative layout component. */ 123 ARKUI_NODE_RELATIVE_CONTAINER, 124 /** Grid. */ 125 ARKUI_NODE_GRID, 126 /** Grid item. */ 127 ARKUI_NODE_GRID_ITEM, 128 /** Custom_Span. */ 129 ARKUI_NODE_CUSTOM_SPAN, 130 } ArkUI_NodeType; 131 132 /** 133 * @brief Defines the general input parameter structure of the {@link setAttribute} function. 134 * 135 * @since 12 136 */ 137 typedef struct { 138 /** Numeric array. */ 139 const ArkUI_NumberValue* value; 140 /** Size of the numeric array. */ 141 int32_t size; 142 /** String type. */ 143 const char* string; 144 /** Object type. */ 145 void* object; 146 } ArkUI_AttributeItem; 147 148 /** 149 * @brief Defines the ArkUI style attributes that can be set on the native side. 150 * 151 * @since 12 152 */ 153 typedef enum { 154 /** 155 * @brief Defines the width attribute, which can be set, reset, and obtained as required through APIs. 156 * 157 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 158 * .value[0].f32: width, in vp.\n 159 * \n 160 * Format of the return value {@link ArkUI_AttributeItem}:\n 161 * .value[0].f32: width, in vp.\n 162 * 163 */ 164 NODE_WIDTH = 0, 165 /** 166 * @brief Defines the height attribute, which can be set, reset, and obtained as required through APIs. 167 * 168 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 169 * .value[0].f32: height, in vp.\n 170 * \n 171 * Format of the return value {@link ArkUI_AttributeItem}:\n 172 * .value[0].f32: height, in vp.\n 173 * 174 */ 175 NODE_HEIGHT, 176 /** 177 * @brief Defines the background color attribute, which can be set, reset, and obtained as required through APIs. 178 * 179 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 180 * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 181 * \n 182 * Format of the return value {@link ArkUI_AttributeItem}:\n 183 * .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 184 * 185 */ 186 NODE_BACKGROUND_COLOR, 187 /** 188 * @brief Defines the background image attribute, which can be set, reset, and obtained as required through APIs. 189 * 190 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 191 * .string: image address;\n 192 * .value[0]?.i32: whether to repeat the image. Optional. The parameter type is {@link ArkUI_ImageRepeat}. 193 * The default value is <b>ARKUI_IMAGE_REPEAT_NONE</b>.\n 194 * \n 195 * Format of the return value {@link ArkUI_AttributeItem}:\n 196 * .string: image address;\n 197 * .value[0].i32: whether to repeat the image. The parameter type is {@link ArkUI_ImageRepeat}.\n 198 * 199 */ 200 NODE_BACKGROUND_IMAGE, 201 /** 202 * @brief Defines the padding attribute, which can be set, reset, and obtained as required through APIs. 203 * 204 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 205 * 1: Specify the same padding for the four directions. \n 206 * .value[0].f32: padding, in vp.\n 207 * 2: Specify different paddings for different directions. \n 208 * .value[0].f32: top padding, in vp.\n 209 * .value[1].f32: right padding, in vp.\n 210 * .value[2].f32: bottom padding, in vp.\n 211 * .value[3].f32: left padding, in vp.\n 212 * \n 213 * Format of the return value {@link ArkUI_AttributeItem}:\n 214 * .value[0].f32: top padding, in vp.\n 215 * .value[1].f32: right padding, in vp.\n 216 * .value[2].f32: bottom padding, in vp.\n 217 * .value[3].f32: left padding, in vp.\n 218 * 219 */ 220 NODE_PADDING, 221 /** 222 * @brief Defines the component ID attribute, which can be set, reset, and obtained as required through APIs. 223 * 224 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 225 * .string: component ID.\n 226 * \n 227 * Format of the return value {@link ArkUI_AttributeItem}:\n 228 * .string: component ID.\n 229 * 230 */ 231 NODE_ID, 232 /** 233 * @brief Defines the interactivity attribute, which can be set, reset, and obtained as required through APIs. 234 * 235 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 236 * .value[0].i32: The value <b>true</b> means that the component can interact with users, and <b>false</b> means 237 * the opposite.\n 238 * \n 239 * Format of the return value {@link ArkUI_AttributeItem}:\n 240 * .value[0].i32: The value <b>1</b> means that the component can interact with users, and <b>0</b> means 241 * the opposite. \n 242 * 243 */ 244 NODE_ENABLED, 245 /** 246 * @brief Defines the margin attribute, which can be set, reset, and obtained as required through APIs. 247 * 248 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 249 * 1: Specify the same margin for the four directions. \n 250 * .value[0].f32: margin, in vp.\n 251 * 2: Specify different margins for different directions. \n 252 * .value[0].f32: top margin, in vp.\n 253 * .value[1].f32: right margin, in vp.\n 254 * .value[2].f32: bottom margin, in vp.\n 255 * .value[3].f32: left margin, in vp.\n 256 * \n 257 * Format of the return value {@link ArkUI_AttributeItem}:\n 258 * .value[0].f32: top margin, in vp.\n 259 * .value[1].f32: right margin, in vp.\n 260 * .value[2].f32: bottom margin, in vp.\n 261 * .value[3].f32: left margin, in vp.\n 262 * 263 */ 264 NODE_MARGIN, 265 /** 266 * @brief Defines the translate attribute, which can be set, reset, and obtained as required through APIs. 267 * 268 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 269 * .value[0].f32: distance to translate along the x-axis, in vp. The default value is <b>0</b>.\n 270 * .value[1].f32: distance to translate along the y-axis, in vp. The default value is <b>0</b>.\n 271 * .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>. \n 272 * \n 273 * Format of the return value {@link ArkUI_AttributeItem}:\n 274 * .value[0].f32: distance to translate along the x-axis, in vp.\n 275 * .value[1].f32: distance to translate along the y-axis, in vp.\n 276 * .value[2].f32: distance to translate along the z-axis, in vp. \n 277 * 278 */ 279 NODE_TRANSLATE, 280 /** 281 * @brief Defines the scale attribute, which can be set, reset, and obtained as required through APIs. 282 * 283 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 284 * .value[0].f32: scale factor along the x-axis. The default value is <b>1</b>.\n 285 * .value[1].f32: scale factor along the y-axis. The default value is <b>1</b>. \n 286 * \n 287 * Format of the return value {@link ArkUI_AttributeItem}:\n 288 * .value[0].f32: scale factor along the x-axis.\n 289 * .value[1].f32: scale factor along the y-axis. \n 290 * 291 */ 292 NODE_SCALE, 293 /** 294 * @brief Defines the rotate attribute, which can be set, reset, and obtained as required through APIs. 295 * 296 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 297 * .value[0].f32: X coordinate of the rotation axis vector. The default value is <b>0</b>.\n 298 * .value[1].f32: Y coordinate of the rotation axis vector. The default value is <b>0</b>.\n 299 * .value[2].f32: Z coordinate of the rotation axis vector. The default value is <b>0</b>.\n 300 * .value[3].f32: rotation angle. The default value is <b>0</b>.\n 301 * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp. 302 * The default value is <b>0</b>. \n 303 * \n 304 * Format of the return value {@link ArkUI_AttributeItem}:\n 305 * .value[0].f32: X coordinate of the rotation axis vector.\n 306 * .value[1].f32: Y coordinate of the rotation axis vector.\n 307 * .value[2].f32: Z coordinate of the rotation axis vector.\n 308 * .value[3].f32: rotation angle.\n 309 * .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp. \n 310 * 311 */ 312 NODE_ROTATE, 313 /** 314 * @brief Sets the brightness attribute, which can be set, reset, and obtained as required through APIs. 315 * 316 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 317 * .value[0].f32: brightness value. The default value is <b>1.0</b>, and the recommended value range is [0, 2]. \n 318 * \n 319 * Format of the return value {@link ArkUI_AttributeItem}:\n 320 * .value[0].f32: brightness value. \n 321 * 322 */ 323 NODE_BRIGHTNESS, 324 /** 325 * @brief Sets the saturation attribute, which can be set, reset, and obtained as required through APIs. 326 * 327 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 328 * .value[0].f32: saturation value. The default value is <b>1.0</b>, and the recommended value range is [0, 50]. \n 329 * \n 330 * Format of the return value {@link ArkUI_AttributeItem}: \n 331 * .value[0].f32: saturation value. \n 332 * 333 */ 334 NODE_SATURATION, 335 /** 336 * @brief Sets the blur attribute, which can be set, reset, and obtained as required through APIs. 337 * 338 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 339 * .value[0].f32: blur radius. A larger value indicates a higher blur degree. If the value is <b>0</b>, 340 * the component is not blurred. The unit is vp. The default value is <b>0.0</b>. \n 341 * \n 342 * Format of the return value {@link ArkUI_AttributeItem}:\n 343 * .value[0].f32: blur radius. The larger the fuzzy radius, the more blurred the image. If the value is <b>0</b>, 344 * the image is not blurred. The unit is vp. \n 345 * 346 */ 347 NODE_BLUR, 348 /** 349 * @brief Sets the gradient attribute, which can be set, reset, and obtained as required through APIs. 350 * 351 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 352 * .value[0].f32: start angle of the linear gradient. A positive value indicates a clockwise rotation from the 353 * origin, (0, 0). The default value is <b>180</b>.\n 354 * .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set. 355 * The parameter type is {@link ArkUI_LinearGradientDirection}. \n 356 * .value[2].i32: whether the colors are repeated. The default value is <b>false</b>. \n 357 * .object: array of color stops, each of which consists of a color and its stop position. 358 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 359 * colors: colors of the color stops. \n 360 * stops: stop positions of the color stops. \n 361 * size: number of colors. \n 362 * \n 363 * Format of the return value {@link ArkUI_AttributeItem}:\n 364 * .value[0].f32: start angle of the linear gradient. \n 365 * .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set. \n 366 * .value[2].i32: whether the colors are repeated. \n 367 * .object: array of color stops, each of which consists of a color and its stop position. 368 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 369 * colors: colors of the color stops. \n 370 * stops: stop positions of the color stops. \n 371 * size: number of colors. \n 372 * 373 */ 374 NODE_LINEAR_GRADIENT, 375 /** 376 * @brief Sets the alignment attribute, which can be set, reset, and obtained as required through APIs. 377 * 378 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 379 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. 380 * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n 381 * \n 382 * Format of the return value {@link ArkUI_AttributeItem}:\n 383 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n 384 * 385 */ 386 NODE_ALIGNMENT, 387 /** 388 * @brief Defines the opacity attribute, which can be set, reset, and obtained as required through APIs. 389 * 390 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 391 * .value[0].f32: opacity value. The value ranges from 0 to 1. \n 392 * \n 393 * Format of the return value {@link ArkUI_AttributeItem}:\n 394 * .value[0].f32: opacity value. The value ranges from 0 to 1. \n 395 * 396 */ 397 NODE_OPACITY, 398 /** 399 * @brief Defines the border width attribute, which can be set, reset, and obtained as required through APIs. 400 * 401 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 402 * 1: .value[0].f32: width of the four borders. \n 403 * 2: .value[0].f32: width of the top border. \n 404 * .value[1].f32: width of the right border. \n 405 * .value[2].f32: width of the bottom border. \n 406 * .value[3].f32: width of the left border. \n 407 * \n 408 * Format of the return value {@link ArkUI_AttributeItem}:\n 409 * .value[0].f32: width of the top border. \n 410 * .value[1].f32: width of the right border. \n 411 * .value[2].f32: width of the bottom border. \n 412 * .value[3].f32: width of the left border. \n 413 * 414 */ 415 NODE_BORDER_WIDTH, 416 /** 417 * @brief Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs. 418 * 419 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 420 * 1: .value[0].f32: radius of the four corners. \n 421 * 2: .value[0].f32: radius of the upper left corner. \n 422 * .value[1].f32: radius of the upper right corner. \n 423 * .value[2].f32: radius of the lower left corner. \n 424 * .value[3].f32: radius of the lower right corner. \n 425 * \n 426 * Format of the return value {@link ArkUI_AttributeItem}:\n 427 * .value[0].f32: radius of the upper left corner. \n 428 * .value[1].f32: radius of the upper right corner. \n 429 * .value[2].f32: radius of the lower left corner. \n 430 * .value[3].f32: radius of the lower right corner. \n 431 * 432 */ 433 NODE_BORDER_RADIUS, 434 /** 435 * @brief Defines the border color attribute, which can be set, reset, and obtained as required through APIs. 436 * 437 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 438 * 1: .value[0].u32: color of the four borders, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 439 * 2: .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 440 * .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 441 * .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 442 * .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 443 * \n 444 * Format of the return value {@link ArkUI_AttributeItem}:\n 445 * .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 446 * .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 447 * .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 448 * .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>. \n 449 * 450 */ 451 NODE_BORDER_COLOR, 452 /** 453 * @brief Defines the border line style attribute, which can be set, reset, and obtained as required through APIs. 454 * 455 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 456 * 1: .value[0].i32: line style of the four borders. The parameter type is {@link ArkUI_BorderStyle}. 457 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 458 * 2: .value[0].i32: line style of the top border. The parameter type is {@link ArkUI_BorderStyle}. 459 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 460 * .value[1].i32: line style of the right border. The parameter type is {@link ArkUI_BorderStyle}. 461 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 462 * .value[2].i32: line style of the bottom border. The parameter type is {@link ArkUI_BorderStyle}. 463 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 464 * .value[3].i32: line style of the left border. The parameter type is {@link ArkUI_BorderStyle}. 465 * The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>. \n 466 * \n 467 * Format of the return value {@link ArkUI_AttributeItem}:\n 468 * .value[0].i32: line style of the top border. \n 469 * .value[1].i32: line style of the right border. \n 470 * .value[2].i32: line style of the bottom border. \n 471 * .value[3].i32: line style of the left border. \n 472 * 473 */ 474 NODE_BORDER_STYLE, 475 /** 476 * @brief Defines the z-index attribute for the stack sequence. 477 * This attribute can be set, reset, and obtained as required through APIs. 478 * 479 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 480 * .value[0].f32: z-index value. \n 481 * \n 482 * Format of the return value {@link ArkUI_AttributeItem}:\n 483 * .value[0].f32: z-index value. \n 484 * 485 */ 486 NODE_Z_INDEX, 487 /** 488 * @brief Defines the visibility attribute, which can be set, reset, and obtained as required through APIs. 489 * 490 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 491 * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}. 492 * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n 493 * \n 494 * Format of the return value {@link ArkUI_AttributeItem}:\n 495 * .value[0].i32: whether to show or hide the component. The parameter type is {@link ArkUI_Visibility}. 496 * The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>. \n 497 * 498 */ 499 NODE_VISIBILITY, 500 /** 501 * @brief Defines the clip attribute, which can be set, reset, and obtained as required through APIs. 502 * 503 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 504 * .value[0].i32: whether to clip the component based on the parent container bounds. 505 * The value <b>0</b> means to clip the component, and <b>1</b> means the opposite. \n 506 * \n 507 * Format of the return value {@link ArkUI_AttributeItem}:\n 508 * .value[0].i32: whether to clip the component based on the parent container bounds. 509 * The value <b>0</b> means to clip the component, and <b>1</b> means the opposite. \n 510 * 511 */ 512 NODE_CLIP, 513 /** 514 * @brief Defines the clipping region on the component. 515 * This attribute can be set and obtained as required through APIs. 516 * 517 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute, 518 * which supports five types of shapes:\n 519 * 1. Rectangle:\n 520 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 521 * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n 522 * .value[1].f32: width of the rectangle.\n 523 * .value[2].f32: height of rectangle.\n 524 * .value[3].f32: width of the rounded corner of the rectangle.\n 525 * .value[4].f32: height of the rounded corner of the rectangle.\n 526 * 2. Circle:\n 527 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 528 * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n 529 * .value[1].f32: width of the circle.\n 530 * .value[2].f32: height of the circle.\n 531 * 3. Ellipse:\n 532 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 533 * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n 534 * .value[1].f32: width of the ellipse.\n 535 * .value[2].f32: height of the ellipse.\n 536 * 4. Path:\n 537 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 538 * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n 539 * .value[1].f32: width of the path.\n 540 * .value[2].f32: height of the path.\n 541 * .string: command for drawing the path.\n 542 * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n 543 * 1. Rectangle:\n 544 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 545 * The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.\n 546 * .value[1].f32: width of the rectangle.\n 547 * .value[2].f32: height of rectangle.\n 548 * .value[3].f32: width of the rounded corner of the rectangle.\n 549 * .value[4].f32: height of the rounded corner of the rectangle.\n 550 * 2. Circle:\n 551 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 552 * The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.\n 553 * .value[1].f32: width of the circle.\n 554 * .value[2].f32: height of the circle.\n 555 * 3. Ellipse:\n 556 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 557 * The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.\n 558 * .value[1].f32: width of the ellipse.\n 559 * .value[2].f32: height of the ellipse.\n 560 * 4. Path:\n 561 * .value[0].i32: type of shape. The parameter type is {@link ArkUI_ClipType}. 562 * The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.\n 563 * .value[1].f32: width of the path.\n 564 * .value[2].f32: height of the path.\n 565 * .string: command for drawing the path.\n 566 * 567 */ 568 NODE_CLIP_SHAPE, 569 /** 570 * @brief Defines the transform attribute, which can be used to translate, rotate, and scale images. 571 * This attribute can be set, reset, and obtained as required through APIs. 572 * 573 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 574 * .data[0...15].f32: 16 floating-point numbers. \n 575 * \n 576 * Format of the return value {@link ArkUI_AttributeItem}:\n 577 * .data[0...15].f32: 16 floating-point numbers. \n 578 * 579 */ 580 NODE_TRANSFORM, 581 /** 582 * @brief Defines the hit test behavior attribute, which can be set, reset, and obtained as required through APIs. 583 * 584 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 585 * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}. 586 * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n 587 * \n 588 * Format of the return value {@link ArkUI_AttributeItem}:\n 589 * .value[0].i32: hit test mode. The parameter type is {@link ArkUI_HitTestMode}. 590 * The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>. \n 591 * 592 */ 593 NODE_HIT_TEST_BEHAVIOR, 594 /** 595 * @brief Defines the offset attribute, which specifies the offset of the component's upper left corner relative 596 * to the parent container's. This attribute can be set, reset, and obtained as required through APIs. 597 * 598 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 599 * .value[0].f32: X coordinate. \n 600 * .value[1].f32: Y coordinate. \n 601 * \n 602 * Format of the return value {@link ArkUI_AttributeItem}:\n 603 * .value[0].f32: X coordinate. \n 604 * .value[1].f32: Y coordinate. \n 605 * 606 */ 607 NODE_POSITION, 608 /** 609 * @brief Defines the shadow attribute, which can be set, reset, and obtained as required through APIs. 610 * 611 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 612 * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n 613 * \n 614 * Format of the return value {@link ArkUI_AttributeItem}:\n 615 * .value[0].i32: shadow effect. The parameter type is {@link ArkUI_ShadowStyle}. \n 616 * 617 */ 618 NODE_SHADOW, 619 /** 620 * @brief Defines the custom shadow effect. This attribute can be set, reset, and obtained as required through APIs. 621 * 622 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 623 * .value[0]?.f32: blur radius of the shadow, in vp.\n 624 * .value[1]?.i32: whether to enable the coloring strategy. The value <b>1</b> means to enable the coloring 625 * strategy, and <b>0</b> (default value) means the opposite.\n 626 * .value[2]?.f32: offset of the shadow along the x-axis, in px.\n 627 * .value[3]?.f32: offset of the shadow along the y-axis, in px.\n 628 * .value[4]?.i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 629 * .value[5]?.u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 630 * .value[6]?.u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b> 631 * means the opposite.\n 632 * 633 * \n 634 * Format of the return value {@link ArkUI_AttributeItem}:\n 635 * .value[0].f32: blur radius of the shadow, in vp.\n 636 * .value[1].i32: whether to enable the coloring strategy. \n 637 * .value[2].f32: offset of the shadow along the x-axis, in px.\n 638 * .value[3].f32: offset of the shadow along the y-axis, in px.\n 639 * .value[4].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 640 * .value[5].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 641 * .value[6].u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b> 642 * means the opposite.\n 643 * 644 */ 645 NODE_CUSTOM_SHADOW, 646 /** 647 * @brief Defines the background image width and height. 648 * This attribute can be set, reset, and obtained as required through APIs. 649 * 650 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 651 * .value[0].f32: width of the image. The value range is [0, +∞), and the unit is vp. \n 652 * .value[1].f32: height of the image. The value range is [0, +∞), and the unit is vp. \n 653 * \n 654 * Format of the return value {@link ArkUI_AttributeItem}:\n 655 * .value[0].f32: width of the image, in vp. \n 656 * .value[1].f32: height of the image, in vp. \n 657 * 658 */ 659 NODE_BACKGROUND_IMAGE_SIZE, 660 /** 661 * @brief Defines the background image size. 662 * This attribute can be set, reset, and obtained as required through APIs. 663 * 664 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 665 * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n 666 * \n 667 * Format of the return value {@link ArkUI_AttributeItem}:\n 668 * .value[0].i32: size of the background image. The value is an enum of {@link ArkUI_ImageSize}. \n 669 * 670 */ 671 NODE_BACKGROUND_IMAGE_SIZE_WITH_STYLE, 672 /** 673 * @brief Defines the background blur attribute, which can be set, reset, and obtained as required through APIs. 674 * 675 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 676 * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n 677 * .value[1]?.i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n 678 * .value[2]?.i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n 679 * .value[3]?.f32: blur degree. The value range is [0.0, 1.0]. \n 680 * .value[4]?.f32: start boundary of grayscale blur. \n 681 * .value[5]?.f32: end boundary of grayscale blur. \n 682 * \n 683 * Format of the return value {@link ArkUI_AttributeItem}:\n 684 * .value[0].i32: blue type. The value is an enum of {@link ArkUI_BlurStyle}. \n 685 * .value[1].i32: color mode. The value is an enum of {@link ArkUI_ColorMode}. \n 686 * .value[2].i32: adaptive color mode. The value is an enum of {@link ArkUI_AdaptiveColor}. \n 687 * .value[3].f32: blur degree. The value range is [0.0, 1.0]. \n 688 * .value[4].f32: start boundary of grayscale blur. \n 689 * .value[5].f32: end boundary of grayscale blur. \n 690 * 691 */ 692 NODE_BACKGROUND_BLUR_STYLE, 693 /** 694 * @brief Defines the transform center attribute, which can be set, reset, and obtained as required through APIs. 695 * 696 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 697 * .value[0]?.f32: X coordinate of the center point, in vp.\n 698 * .value[1]?.f32: Y coordinate of the center point, in vp.\n 699 * .value[2]?.f32: Z coordinate of the center point, in vp.\n 700 * .value[3]?.f32 : X coordinate of the center point, expressed in a number that represents a percentage. 701 * For example, 0.2 indicates 20%. This attribute overwrites value[0].f32. The default value is <b>0.5f</b>. \n 702 * .value[4]?.f32 : Y coordinate of the center point, expressed in a number that represents a percentage. 703 * For example, 0.2 indicates 20%. This attribute overwrites value[1].f32. The default value is <b>0.5f</b>. \n 704 * .value[5]?.f32 : Z coordinate of the center point, expressed in a number that represents a percentage. 705 * For example, 0.2 indicates 20%. This attribute overwrites value[2].f32. The default value is <b>0.0f</b>. \n 706 * \n 707 * Format of the return value {@link ArkUI_AttributeItem}:\n 708 * .value[0].f32: X coordinate of the center point, in vp.\n 709 * .value[1].f32: Y coordinate of the center point, in vp.\n 710 * .value[2].f32: Z coordinate of the center point, in vp.\n 711 * Note: If the coordinate is expressed in a number that represents a percentage, the attribute obtaining API 712 * returns the calculated value in vp. 713 * 714 */ 715 NODE_TRANSFORM_CENTER, 716 /** 717 * @brief Defines the transition opacity attribute, which can be set, reset, and obtained as required through APIs. 718 * 719 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 720 * .value[0].f32: opacity values of the start and end points.\n 721 * .value[1].i32: animation duration, in milliseconds.\n 722 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 723 * .value[3]?.i32: animation delay duration, in milliseconds.\n 724 * .value[4]?.i32: number of times that the animation is played.\n 725 * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}.\n 726 * .value[6]?.f32: animation playback speed.\n 727 * \n 728 * Format of the return value {@link ArkUI_AttributeItem}:\n 729 * .value[0].f32: opacity values of the start and end points.\n 730 * .value[1].i32: animation duration, in milliseconds.\n 731 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 732 * .value[3].i32: animation delay duration, in milliseconds. \n 733 * .value[4].i32: number of times that the animation is played. \n 734 * .value[5].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 735 * .value[6].f32: animation playback speed. \n 736 * 737 */ 738 NODE_OPACITY_TRANSITION, 739 /** 740 * @brief Defines the transition rotation attribute, which can be set, reset, and obtained as required through APIs. 741 * 742 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 743 * .value[0].f32: X-component of the rotation vector. \n 744 * .value[1].f32: Y-component of the rotation vector. \n 745 * .value[2].f32: Z-component of the rotation vector \n 746 * .value[3].f32: angle. \n 747 * .value[4].f32: line of sight. The default value is <b>0.0f</b>. \n 748 * .value[5].i32: animation duration, in milliseconds. \n 749 * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 750 * .value[7]?.i32: animation delay duration, in milliseconds. \n 751 * .value[8]?.i32: number of times that the animation is played. \n 752 * .value[9]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 753 * .value[10]?.f32: animation playback speed. \n 754 * \n 755 * Format of the return value {@link ArkUI_AttributeItem}:\n 756 * .value[0].f32: X-component of the rotation vector. \n 757 * .value[1].f32: Y-component of the rotation vector. \n 758 * .value[2].f32: Z-component of the rotation vector \n 759 * .value[3].f32: angle. \n 760 * .value[4].f32: line of sight. \n 761 * .value[5].i32: animation duration, in milliseconds. \n 762 * .value[6].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 763 * .value[7].i32: animation delay duration, in milliseconds. \n 764 * .value[8].i32: number of times that the animation is played. \n 765 * .value[9].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 766 * .value[10].f32: animation playback speed. \n 767 * 768 */ 769 NODE_ROTATE_TRANSITION, 770 /** 771 * @brief Defines the transition scaling attribute, which can be set, reset, and obtained as required through APIs. 772 * 773 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 774 * .value[0].f32: scale factor along the x-axis. \n 775 * .value[1].f32: scale factor along the y-axis. \n 776 * .value[2].f32: scale factor along the z-axis. \n 777 * .value[3].i32: animation duration, in milliseconds. \n 778 * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 779 * .value[5]?.i32: animation delay duration, in milliseconds. \n 780 * .value[6]?.i32: number of times that the animation is played. \n 781 * .value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 782 * .value[8]?.f32: animation playback speed. \n 783 * \n 784 * Format of the return value {@link ArkUI_AttributeItem}:\n 785 * .value[0].f32: scale factor along the x-axis. \n 786 * .value[1].f32: scale factor along the y-axis. \n 787 * .value[2].f32: scale factor along the z-axis. \n 788 * .value[3].i32: animation duration, in milliseconds. \n 789 * .value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 790 * .value[5].i32: animation delay duration, in milliseconds. \n 791 * .value[6].i32: number of times that the animation is played. \n 792 * .value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 793 * .value[8].f32: animation playback speed. \n 794 * 795 */ 796 NODE_SCALE_TRANSITION, 797 /** 798 * @brief Defines the transition translation attribute. 799 * This attribute can be set, reset, and obtained as required through APIs. 800 * 801 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 802 * value[0].f32: translation distance along the x-axis, in vp.\n 803 * value[1].f32: translation distance along the y-axis, in vp.\n 804 * value[2].f32: translation distance along the z-axis, in vp.\n 805 * value[3].i32: animation duration, in milliseconds. \n 806 * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 807 * value[5]?.i32: animation delay duration, in milliseconds. \n 808 * value[6]?.i32: number of times that the animation is played. \n 809 * value[7]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 810 * value[8]?.f32: animation playback speed. \n 811 * \n 812 * Format of the return value {@link ArkUI_AttributeItem}:\n 813 * value[0].f32: translation distance along the x-axis, in vp.\n 814 * value[1].f32: translation distance along the y-axis, in vp.\n 815 * value[2].f32: translation distance along the z-axis, in vp.\n 816 * value[3].i32: animation duration, in milliseconds. \n 817 * value[4].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n \n 818 * value[5].i32: animation delay duration, in milliseconds. \n 819 * value[6].i32: number of times that the animation is played. \n 820 * value[7].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 821 * value[8].f32: animation playback speed. \n 822 * 823 */ 824 NODE_TRANSLATE_TRANSITION, 825 /** 826 * @brief Defines the slide-in and slide-out of the component from the screen edge during transition. 827 * This attribute can be set, reset, and obtained as required through APIs. 828 * 829 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 830 * .value[0].i32: The parameter type is {@link ArkUI_TransitionEdge}. \n 831 * .value[1].i32: animation duration, in milliseconds.\n 832 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 833 * .value[3]?.i32: animation delay duration, in milliseconds. \n 834 * .value[4]?.i32: number of times that the animation is played. \n 835 * .value[5]?.i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 836 * .value[6]?.f32: animation playback speed. \n 837 * \n 838 * Format of the return value {@link ArkUI_AttributeItem}:\n 839 * .value[0].i32: The parameter type is {@link ArkUI_TransitionEdge}. \n 840 * .value[1].i32: animation duration, in milliseconds.\n 841 * .value[2].i32: animation curve type. The value is an enum of {@link ArkUI_AnimationCurve}.\n 842 * .value[3].i32: animation delay duration, in milliseconds. \n 843 * .value[4].i32: number of times that the animation is played. \n 844 * .value[5].i32: animation playback mode. The value is an enum of {@link ArkUI_AnimationPlayMode}. \n 845 * .value[6].f32: animation playback speed. \n 846 * 847 */ 848 NODE_MOVE_TRANSITION, 849 850 /** 851 * @brief Defines the focus attribute, which can be set, reset, and obtained as required through APIs. 852 * 853 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 854 * .value[0].i32: The parameter type is 1 or 0. 855 * \n 856 * Format of the return value {@link ArkUI_AttributeItem}:\n 857 * .value[0].i32: The parameter type is 1 or 0. 858 * 859 */ 860 NODE_FOCUSABLE, 861 862 /** 863 * @brief Defines the default focus attribute, which can be set, reset, and obtained as required through APIs. 864 * 865 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 866 * value[0].i32: The parameter type is 1 or 0. 867 * \n 868 * Format of the return value {@link ArkUI_AttributeItem}:\n 869 * value[0].i32: The parameter type is 1 or 0. 870 * 871 */ 872 NODE_DEFAULT_FOCUS, 873 874 /** 875 * @brief Defines the touch target attribute, which can be set, reset, and obtained as required through APIs. 876 * 877 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 878 * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n 879 * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n 880 * .data[2].f32: width of the touch target, in %. \n 881 * .data[3].f32: height of the touch target, in %. \n 882 * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding. 883 * \n 884 * Format of the return value {@link ArkUI_AttributeItem}:\n 885 * .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp. \n 886 * .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp. \n 887 * .data[2].f32: width of the touch target, in %. \n 888 * .data[3].f32: height of the touch target, in %. \n 889 * .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding. 890 * 891 */ 892 NODE_RESPONSE_REGION, 893 894 /** 895 * @brief Defines the overlay attribute, which can be set, reset, and obtained as required through APIs. 896 * 897 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 898 * .string: mask text.\n 899 * .value[0]?.i32: position of the overlay relative to the component. Optional. 900 * The parameter type is {@link ArkUI_Alignment}. 901 * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n 902 * .value[1]?.f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. Optional. \n 903 * .value[2]?.f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. Optional. 904 * \n 905 * Format of the return value {@link ArkUI_AttributeItem}:\n 906 * .string: mask text.\n 907 * .value[0].i32: position of the overlay relative to the component. 908 * The parameter type is {@link ArkUI_Alignment}. 909 * The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b> \n 910 * .value[1].f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. \n 911 * .value[2].f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. 912 * 913 * 914 */ 915 NODE_OVERLAY, 916 /** 917 * @brief Defines the sweep gradient effect. 918 * This attribute can be set, reset, and obtained as required through APIs. 919 * 920 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 921 * .value[0]?.f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.\n 922 * .value[1]?.f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.\n 923 * .value[2]?.f32: start point of the sweep gradient. The default value is <b>0</b>. \n 924 * .value[3]?.f32: end point of the sweep gradient. The default value is <b>0</b>. \n 925 * .value[4]?.f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n 926 * .value[5]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 927 * and <b>0</b> means the opposite.\n 928 * .object: array of color stops, each of which consists of a color and its stop position. 929 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 930 * colors: colors of the color stops. \n 931 * stops: stop positions of the color stops. \n 932 * size: number of colors. \n 933 * \n 934 * Format of the return value {@link ArkUI_AttributeItem}:\n 935 * .value[0].f32: X coordinate of the sweep gradient center relative to the upper left corner of the component. \n 936 * .value[1].f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component. \n 937 * .value[2].f32: start point of the sweep gradient. The default value is <b>0</b>. \n 938 * .value[3].f32: end point of the sweep gradient. The default value is <b>0</b>. \n 939 * .value[4].f32: rotation angle of the sweep gradient. The default value is <b>0</b>. \n 940 * .value[5].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 941 * and <b>0</b> means the opposite.\n 942 * .object: array of color stops, each of which consists of a color and its stop position. 943 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 944 * colors: colors of the color stops. \n 945 * stops: stop positions of the color stops. \n 946 * size: number of colors. \n 947 * 948 */ 949 NODE_SWEEP_GRADIENT, 950 /** 951 * @brief Defines the radial gradient effect. 952 * This attribute can be set, reset, and obtained as required through APIs. 953 * 954 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 955 * .value[0]?.f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n 956 * .value[1]?.f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n 957 * .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>. \n 958 * .value[3]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 959 * and <b>0</b> means the opposite. \n 960 * .object: array of color stops, each of which consists of a color and its stop position. 961 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 962 * colors: colors of the color stops. \n 963 * stops: stop positions of the color stops. \n 964 * size: number of colors. \n 965 * \n 966 * Format of the return value {@link ArkUI_AttributeItem}:\n 967 * .value[0].f32: X coordinate of the radial gradient center relative to the upper left corner of the component. \n 968 * .value[1].f32: Y coordinate of the radial gradient center relative to the upper left corner of the component. \n 969 * .value[2].f32: radius of the radial gradient. The default value is <b>0</b>. \n 970 * .value[3].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated, 971 * and <b>0</b> means the opposite.\n 972 * .object: array of color stops, each of which consists of a color and its stop position. 973 * The parameter type is {@link ArkUI_ColorStop}. Invalid colors are automatically skipped. \n 974 * colors: colors of the color stops. \n 975 * stops: stop positions of the color stops. \n 976 * size: number of colors. \n 977 * 978 */ 979 NODE_RADIAL_GRADIENT, 980 /** 981 * @brief Adds a mask of the specified shape to the component. 982 * This attribute can be set, reset, and obtained as required through APIs. 983 * 984 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute, which supports five types of 985 * shapes:\n 986 * 1. Rectangle:\n 987 * .value[0].u32 fill color, in 0xARGB format. \n 988 * .value[1].u32: stroke color, in 0xARGB format. \n 989 * .value[2].f32: stroke width, in vp. \n 990 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 991 * The value is <b>ARKUI_MASK_TYPE_RECTANGLE</b> for the rectangle shape.\n 992 * .value[4].f32: width of the rectangle.\n 993 * .value[5].f32: height of the rectangle.\n 994 * .value[6].f32: width of the rounded corner of the rectangle.\n 995 * .value[7].f32: height of the rounded corner of the rectangle.\n 996 * 2. Circle:\n 997 * .value[0].u32 fill color, in 0xARGB format. \n 998 * .value[1].u32: stroke color, in 0xARGB format. \n 999 * .value[2].f32: stroke width, in vp. \n 1000 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1001 * The value is <b>ARKUI_MASK_TYPE_CIRCLE</b> for the circle shape.\n 1002 * .value[4].f32: width of the circle.\n 1003 * .value[5].f32: height of the circle.\n 1004 * 3. Ellipse:\n 1005 * .value[0].u32 fill color, in 0xARGB format. \n 1006 * .value[1].u32: stroke color, in 0xARGB format. \n 1007 * .value[2].f32: stroke width, in vp. \n 1008 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1009 * The value is <b>ARKUI_MASK_TYPE_ELLIPSE</b> for the ellipse shape.\n 1010 * .value[4].f32: width of the ellipse.\n 1011 * .value[5].f32: height of the ellipse.\n 1012 * 4. Path:\n 1013 * .value[0].u32 fill color, in 0xARGB format. \n 1014 * .value[1].u32: stroke color, in 0xARGB format. \n 1015 * .value[2].f32: stroke width, in vp. \n 1016 * .value[3].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1017 * The value is <b>ARKUI_MASK_TYPE_PATH</b> for the path shape.\n 1018 * .value[4].f32: width of the path.\n 1019 * .value[5].f32: height of the path.\n 1020 * .string: command for drawing the path.\n 1021 * 5. Progress:\n 1022 * .value[0].i32: mask type. The parameter type is {@link ArkUI_MaskType}. 1023 * The value is <b>ARKUI_MASK_TYPE_PROSGRESS</b> for the progress shape.\n 1024 * .value[1].f32: current value of the progress indicator.\n 1025 * .value[2].f32: maximum value of the progress indicator.\n 1026 * .value[3].u32: color of the progress indicator.\n 1027 * \n 1028 * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n 1029 * 1. Rectangle:\n 1030 * .value[0].u32 fill color, in 0xARGB format. \n 1031 * .value[1].u32: stroke color, in 0xARGB format. \n 1032 * .value[2].f32: stroke width, in vp. \n 1033 * .value[3].i32: mask type.\n 1034 * .value[4].f32: width of the rectangle.\n 1035 * .value[5].f32: height of the rectangle.\n 1036 * .value[6].f32: width of the rounded corner of the rectangle.\n 1037 * .value[7].f32: height of the rounded corner of the rectangle.\n 1038 * 2. Circle:\n 1039 * .value[0].u32 fill color, in 0xARGB format. \n 1040 * .value[1].u32: stroke color, in 0xARGB format. \n 1041 * .value[2].f32: stroke width, in vp. \n 1042 * .value[3].i32: mask type.\n 1043 * .value[4].f32: width of the circle.\n 1044 * .value[5].f32: height of the circle.\n 1045 * 3. Ellipse:\n 1046 * .value[0].u32 fill color, in 0xARGB format. \n 1047 * .value[1].u32: stroke color, in 0xARGB format. \n 1048 * .value[2].f32: stroke width, in vp. \n 1049 * .value[3].i32: mask type.\n 1050 * .value[4].f32: width of the ellipse.\n 1051 * .value[5].f32: height of the ellipse.\n 1052 * 4. Path:\n 1053 * .value[0].u32 fill color, in 0xARGB format. \n 1054 * .value[1].u32: stroke color, in 0xARGB format. \n 1055 * .value[2].f32: stroke width, in vp. \n 1056 * .value[3].i32: mask type.\n 1057 * .value[4].f32: width of the path.\n 1058 * .value[5].f32: height of the path.\n 1059 * .string: command for drawing the path.\n 1060 * 5. Progress:\n 1061 * .value[0].i32: mask type.\n 1062 * .value[1].f32: current value of the progress indicator.\n 1063 * .value[2].f32: maximum value of the progress indicator.\n 1064 * .value[3].u32: color of the progress indicator.\n 1065 * 1066 */ 1067 NODE_MASK, 1068 /** 1069 * @brief Blends the component's background with the content of the component's child node. 1070 * This attribute can be set, reset, and obtained as required through APIs. 1071 * 1072 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1073 * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is 1074 * <b>ARKUI_BLEND_MODE_NONE</b>. \n 1075 * .value[1].?i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. 1076 * The default value is <b>ARKUI_BLEND_APPLY_TYPE_FAST</b>. \n 1077 * \n 1078 * Format of the return value {@link ArkUI_AttributeItem}:\n 1079 * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is 1080 * <b>ARKUI_BLEND_MODE_NONE</b>. \n 1081 * .value[1].i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. 1082 * The default value is <b>ARKUI_BLEND_APPLY_TYPE_FAST</b>. \n 1083 * 1084 */ 1085 NODE_BLEND_MODE, 1086 /** 1087 * @brief Sets the direction of the main axis. 1088 * This attribute can be set, reset, and obtained as required through APIs. 1089 * 1090 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1091 * .value[0].i32: direction of the main axis.\n 1092 * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n 1093 * \n 1094 * Format of the return value {@link ArkUI_AttributeItem}:\n 1095 * .value[0].i32: direction of the main axis.\n 1096 * The parameter type is {@link ArkUI_Direction}. The default value is <b>ARKUI_DIRECTION_AUTO</b>. \n 1097 * 1098 */ 1099 NODE_DIRECTION, 1100 /** 1101 * @brief Defines the size constraints. 1102 * This attribute can be set, reset, and obtained as required through APIs. 1103 * 1104 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1105 * .value[0].f32: minimum width, in vp.\n 1106 * .value[1].f32: maximum width, in vp.\n 1107 * .value[2].f32: minimum height, in vp.\n 1108 * .value[3].f32: maximum height, in vp.\n 1109 * \n 1110 * Format of the return value {@link ArkUI_AttributeItem}:\n 1111 * .value[0].f32: minimum width, in vp.\n 1112 * .value[1].f32: maximum width, in vp.\n 1113 * .value[2].f32: minimum height, in vp.\n 1114 * .value[3].f32: maximum height, in vp.\n 1115 * 1116 */ 1117 NODE_CONSTRAINT_SIZE, 1118 /** 1119 * @brief Defines the grayscale effect. 1120 * This attribute can be set, reset, and obtained as required through APIs. 1121 * 1122 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1123 * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1. 1124 * For example, 0.5 indicates a 50% grayscale conversion ratio. \n 1125 * \n 1126 * Format of the return value {@link ArkUI_AttributeItem}:\n 1127 * .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.\n 1128 * 1129 */ 1130 NODE_GRAY_SCALE, 1131 /** 1132 * @brief Inverts the image. 1133 * This attribute can be set, reset, and obtained as required through APIs. 1134 * 1135 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1136 * .value[0].f32: image inversion ratio. The value ranges from 0 to 1. 1137 * For example, 0.5 indicates a 50% image inversion ratio.\n 1138 * \n 1139 * Format of the return value {@link ArkUI_AttributeItem}:\n 1140 * .value[0].f32: image inversion ratio. The value ranges from 0 to 1.\n 1141 * 1142 */ 1143 NODE_INVERT, 1144 /** 1145 * @brief Defines the sepia conversion ratio. 1146 * This attribute can be set, reset, and obtained as required through APIs. 1147 * 1148 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1149 * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1. 1150 * For example, 0.5 indicates that a 50% sepia conversion ratio.\n 1151 * \n 1152 * Format of the return value {@link ArkUI_AttributeItem}:\n 1153 * .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.\n 1154 * 1155 */ 1156 NODE_SEPIA, 1157 /** 1158 * @brief Defines the contrast attribute, which can be set, reset, and obtained as required through APIs. 1159 * 1160 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1161 * .value[0].f32: contrast. If the value is <b>1</b>, the source image is displayed. 1162 * A larger value indicates a higher contrast. Value range: [0, 10).\n 1163 * \n 1164 * Format of the return value {@link ArkUI_AttributeItem}:\n 1165 * .value[0].f32: contrast. Value range: [0, 10).\n 1166 * 1167 */ 1168 NODE_CONTRAST, 1169 /** 1170 * @brief Defines the foreground color attribute, which can be set, reset, and obtained as required through APIs. 1171 * 1172 * There are two formats of {@link ArkUI_AttributeItem} for setting the attribute value:\n 1173 * 1: .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 1174 * 2: .value[0].i32: color enum {@link ArkUI_ColoringStrategy}.\n 1175 * \n 1176 * Format of the return value {@link ArkUI_AttributeItem}:\n 1177 * .value[0].u32: color value, in 0xARGB format.\n 1178 * 1179 */ 1180 NODE_FOREGROUND_COLOR, 1181 1182 /** 1183 * @brief Defines the offset of the component's child relative to the component. 1184 * This attribute can be set, reset, and obtained as required through APIs. 1185 * 1186 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1187 * .value[0].f32 : offset along the x-axis, in vp. \n 1188 * .value[1].f32 : offset along the y-axis, in vp. \n 1189 * \n 1190 * Format of the return value {@link ArkUI_AttributeItem}:\n 1191 * .value[0].f32 : offset along the x-axis, in vp. \n 1192 * .value[1].f32 : offset along the y-axis, in vp. \n 1193 * 1194 */ 1195 NODE_OFFSET, 1196 /** 1197 * @brief Sets the anchor for locating the component's child. 1198 * This attribute can be set, reset, and obtained as required through APIs. 1199 * 1200 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1201 * .value[0].f32: X coordinate of the anchor, in vp.\n 1202 * .value[1].f32: Y coordinate of the anchor, in vp.\n 1203 * \n 1204 * Format of the return value {@link ArkUI_AttributeItem}:\n 1205 * .value[0].f32: X coordinate of the anchor, in vp.\n 1206 * .value[1].f32: Y coordinate of the anchor, in vp.\n 1207 * 1208 */ 1209 NODE_MARK_ANCHOR, 1210 /** 1211 * @brief Defines the position of the background image in the component, that is, the coordinates relative to 1212 * the upper left corner of the component. This attribute can be set, reset, and obtained as required through APIs. 1213 * 1214 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1215 * .value[0].f32: position along the x-axis, in px. \n 1216 * .value[1].f32: position along the y-axis, in px. \n 1217 * \n 1218 * Format of the return value {@link ArkUI_AttributeItem}:\n 1219 * .value[0].f32: position along the x-axis, in px. \n 1220 * .value[1].f32: position along the y-axis, in px. \n 1221 * 1222 */ 1223 NODE_BACKGROUND_IMAGE_POSITION, 1224 /** 1225 * @brief Sets the alignment rules in the relative container. 1226 * This attribute can be set, reset, and obtained as required through APIs. 1227 * 1228 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1229 * .value[0]?.i32: ID of the component that functions as the anchor point for left alignment. \n 1230 * .value[1]?.i32: alignment mode relative to the anchor component for left alignment. 1231 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1232 * .value[2]?.i32: ID of the component that functions as the anchor point for center alignment. \n 1233 * .value[3]?.i32: alignment mode relative to the anchor component for center alignment. 1234 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1235 * .value[4]?.i32: ID of the component that functions as the anchor point for right alignment. \n 1236 * .value[5]?.i32: alignment mode relative to the anchor component for right alignment. 1237 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1238 * .value[6]?.i32: ID of the component that functions as the anchor point for top alignment. \n 1239 * .value[7]?.i32: alignment mode relative to the anchor component for top alignment. 1240 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1241 * .value[8]?.i32: ID of the component that functions as the anchor point for center alignment in the 1242 * vertical direction. \n 1243 * .value[9]?.i32: alignment mode relative to the anchor component forcenter alignment in the vertical direction. 1244 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1245 * .value[10]?.i32: ID of the component that functions as the anchor point for bottom alignment. \n 1246 * .value[11]?.i32: alignment mode relative to the anchor component for bottom alignment. 1247 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1248 * .value[12]?.f32: bias value in the horizontal direction. \n 1249 * .value[13]?.f32: bias value in the vertical direction. \n 1250 * \n 1251 * Format of the return value {@link ArkUI_AttributeItem}:\n 1252 * .value[0].i32: ID of the component that functions as the anchor point for left alignment. \n 1253 * .value[1].i32: alignment mode relative to the anchor component for left alignment. 1254 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1255 * .value[2].i32: ID of the component that functions as the anchor point for center alignment. \n 1256 * .value[3].i32: alignment mode relative to the anchor component for center alignment. 1257 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1258 * .value[4].i32: ID of the component that functions as the anchor point for right alignment. \n 1259 * .value[5].i32: alignment mode relative to the anchor component for right alignment. 1260 * The value is an enum of {@link ArkUI_HorizontalAlignment}. \n 1261 * .value[6].i32: ID of the component that functions as the anchor point for top alignment. \n 1262 * .value[7].i32: alignment mode relative to the anchor component for top alignment. 1263 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1264 * .value[8].i32: ID of the component that functions as the anchor point for center alignment in the 1265 * vertical direction. \n 1266 * .value[9].i32: alignment mode relative to the anchor component forcenter alignment in the vertical direction. 1267 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1268 * .value[10].i32: ID of the component that functions as the anchor point for bottom alignment. \n 1269 * .value[11].i32: alignment mode relative to the anchor component for bottom alignment. 1270 * The value is an enum of {@link ArkUI_VerticalAlignment}. \n 1271 * .value[12].f32: bias value in the horizontal direction. \n 1272 * .value[13].f32: bias value in the vertical direction. \n 1273 * 1274 */ 1275 NODE_ALIGN_RULES, 1276 /** 1277 * @brief Sets the alignment mode of the child components along the cross axis of the parent container. 1278 * This attribute can be set, reset, and obtained as required through APIs. 1279 * 1280 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1281 * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n 1282 * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n 1283 * \n 1284 * Format of the return value {@link ArkUI_AttributeItem}:\n 1285 * .value[0].i32: alignment mode of the child components along the cross axis of the parent container.\n 1286 * The parameter type is {@link ArkUI_ItemAlignment}. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>. \n 1287 * 1288 */ 1289 NODE_ALIGN_SELF, 1290 /** 1291 * @brief Sets the percentage of the parent container's remaining space that is allocated to the component. 1292 * This attribute can be set, reset, and obtained as required through APIs. 1293 * 1294 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1295 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1296 * \n 1297 * Format of the return value {@link ArkUI_AttributeItem}:\n 1298 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1299 * 1300 */ 1301 NODE_FLEX_GROW, 1302 /** 1303 * @brief Sets the percentage of the parent container's shrink size that is allocated to the component. 1304 * This attribute can be set, reset, and obtained as required through APIs. 1305 * 1306 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1307 * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n 1308 * \n 1309 * Format of the return value {@link ArkUI_AttributeItem}:\n 1310 * .value[0].f32: percentage of the parent container's shrink size that is allocated to the component. \n 1311 * 1312 */ 1313 NODE_FLEX_SHRINK, 1314 /** 1315 * @brief Sets the base size of the component. 1316 * This attribute can be set, reset, and obtained as required through APIs. 1317 * 1318 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1319 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1320 * \n 1321 * Format of the return value {@link ArkUI_AttributeItem}:\n 1322 * .value[0].f32: percentage of the parent container's remaining space that is allocated to the component. \n 1323 * 1324 */ 1325 NODE_FLEX_BASIS, 1326 /** 1327 * @brief Sets the accessibility group. This attribute can be set, reset, and obtained as required through APIs. 1328 * 1329 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1330 * .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components 1331 * form an entire selectable component. 1332 * In this case, the accessibility service will no longer be available for the content of its child components. 1333 * The value is <b>1</b> or <b>0</b>. 1334 * \n 1335 * Format of the return value {@link ArkUI_AttributeItem}:\n 1336 * .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components 1337 * form an entire selectable component. 1338 * In this case, the accessibility service will no longer be available for the content of its child components. 1339 * The value is <b>1</b> or <b>0</b>. 1340 * 1341 */ 1342 NODE_ACCESSIBILITY_GROUP, 1343 1344 /** 1345 * @brief Sets the accessibility text. This attribute can be set, reset, and obtained as required through APIs. 1346 * 1347 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1348 * .string: accessibility text. 1349 * \n 1350 * Format of the return value {@link ArkUI_AttributeItem}:\n 1351 * .string: accessibility text. 1352 * 1353 */ 1354 NODE_ACCESSIBILITY_TEXT, 1355 1356 /** 1357 * @brief Sets the accessibility mode. This attribute can be set, reset, and obtained as required through APIs. 1358 * 1359 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1360 * .value[0].i32: accessibility mode. The parameter type is {@link ArkUI_AccessibilityMode}. 1361 * \n 1362 * Format of the return value {@link ArkUI_AttributeItem}:\n 1363 * .value[0].i32: accessibility mode. The parameter type is {@link ArkUI_AccessibilityMode}. 1364 * 1365 */ 1366 NODE_ACCESSIBILITY_MODE, 1367 1368 /** 1369 * @brief Sets the accessibility description. 1370 * This attribute can be set, reset, and obtained as required through APIs. 1371 * 1372 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1373 * .string: accessibility description. 1374 * \n 1375 * Format of the return value {@link ArkUI_AttributeItem}:\n 1376 * .string: accessibility description. 1377 * 1378 */ 1379 NODE_ACCESSIBILITY_DESCRIPTION, 1380 1381 /** 1382 * @brief Defines the focused state. This attribute can be set and obtained as required through APIs. 1383 * 1384 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1385 * .value[0].i32: The parameter type is 1 or 0. 1386 * \n 1387 * Format of the return value {@link ArkUI_AttributeItem}:\n 1388 * .value[0].i32: The parameter type is 1 or 0. 1389 * 1390 */ 1391 NODE_FOCUS_STATUS, 1392 /** 1393 * @brief Defines the aspect ratio attribute, which can be set, reset, and obtained as required through APIs. 1394 * 1395 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1396 * .value[0].f32: aspect ratio of the component, in width/height format. \n 1397 * \n 1398 * Format of the return value {@link ArkUI_AttributeItem}:\n 1399 * .value[0].f32: aspect ratio of the component, in width/height format. \n 1400 * 1401 */ 1402 NODE_ASPECT_RATIO, 1403 /** 1404 * @brief Defines the weight of the component within its row, column, or flex container for proportional 1405 * distribution of available space within the container. 1406 * This attribute can be set, reset, and obtained as required through APIs. 1407 * 1408 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1409 * .value[0].f32: weight of the component along the main axis. \n 1410 * \n 1411 * Format of the return value {@link ArkUI_AttributeItem}:\n 1412 * .value[0].f32: weight of the component along the main axis. \n 1413 * 1414 */ 1415 NODE_LAYOUT_WEIGHT, 1416 NODE_DISPLAY_PRIORITY, 1417 NODE_OUTLINE_WIDTH, 1418 /** 1419 * @brief 宽度属性,支持属性设置,属性重置和属性获取接口。 1420 * 1421 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 1422 * .value[0].f32:宽度数值,单位为百分比;\n 1423 * \n 1424 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 1425 * .value[0].f32:宽度数值,单位为百分比;\n 1426 * 1427 */ 1428 NODE_WIDTH_PERCENT, 1429 /** 1430 * @brief 高度属性,支持属性设置,属性重置和属性获取接口。 1431 * 1432 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 1433 * .value[0].f32:高度数值,单位为百分比;\n 1434 * \n 1435 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 1436 * .value[0].f32:高度数值,单位为百分比;\n 1437 * 1438 */ 1439 NODE_HEIGHT_PERCENT, 1440 /** 1441 * @brief 内间距属性,支持属性设置,属性重置和属性获取接口。 1442 * 1443 * 属性设置方法参数{@link ArkUI_AttributeItem}格式有两种:\n 1444 * 1:上下左右四个位置的内间距值相等。\n 1445 * .value[0].f32:内间距数值,单位为百分比;\n 1446 * 2:分别指定上下左右四个位置的内间距值。\n 1447 * .value[0].f32:上内间距数值,单位为百分比;\n 1448 * .value[1].f32:右内间距数值,单位为百分比;\n 1449 * .value[2].f32:下内间距数值,单位为百分比;\n 1450 * .value[3].f32:左内间距数值,单位为百分比;\n 1451 * \n 1452 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 1453 * .value[0].f32:上内间距数值,单位为百分比;\n 1454 * .value[1].f32:右内间距数值,单位为百分比;\n 1455 * .value[2].f32:下内间距数值,单位为百分比;\n 1456 * .value[3].f32:左内间距数值,单位为百分比;\n 1457 * 1458 */ 1459 NODE_PADDING_PERCENT, 1460 /** 1461 * @brief 外间距属性,支持属性设置,属性重置和属性获取接口。 1462 * 1463 * 属性设置方法参数{@link ArkUI_AttributeItem}格式有两种:\n 1464 * 1:上下左右四个位置的外间距值相等。\n 1465 * .value[0].f32:外间距数值,单位为百分比;\n 1466 * 2:分别指定上下左右四个位置的外间距值。\n 1467 * .value[0].f32:上外间距数值,单位为百分比;\n 1468 * .value[1].f32:右外间距数值,单位为百分比;\n 1469 * .value[2].f32:下外间距数值,单位为百分比;\n 1470 * .value[3].f32:左外间距数值,单位为百分比;\n 1471 * \n 1472 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 1473 * .value[0].f32:上外间距数值,单位为百分比;\n 1474 * .value[1].f32:右外间距数值,单位为百分比;\n 1475 * .value[2].f32:下外间距数值,单位为百分比;\n 1476 * .value[3].f32:左外间距数值,单位为百分比;\n 1477 * 1478 */ 1479 NODE_MARGIN_PERCENT, 1480 1481 NODE_GEOMETRY_TRANSITION, 1482 1483 /** 1484 * @brief 指定以该组件为链头所构成的链的参数,支持属性设置、属性重置和属性获取接口。 1485 * 1486 * 仅当父容器为RelativeContainer时生效 1487 * 1488 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 1489 * .value[0].i32:链的方向。枚举{@link ArkUI_Axis}。 \n 1490 * .value[1].i32:链的样式。枚举{@link ArkUI_RelativeLayoutChainStyle}。 \n 1491 * \n 1492 * .value[0].i32:链的方向。枚举{@link ArkUI_Axis}。 \n 1493 * .value[1].i32:链的样式。枚举{@link ArkUI_RelativeLayoutChainStyle}。 \n 1494 */ 1495 NODE_RELATIVE_LAYOUT_CHAIN_MODE, 1496 1497 NODE_RENDER_FIT, 1498 1499 NODE_OUTLINE_COLOR, 1500 1501 NODE_SIZE, 1502 1503 NODE_RENDER_GROUP, 1504 1505 NODE_COLOR_BLEND, 1506 1507 NODE_FOREGROUND_BLUR_STYLE, 1508 1509 NODE_LAYOUT_RECT, 1510 1511 NODE_FOCUS_ON_TOUCH, 1512 1513 /** 1514 * @brief 边框宽度属性,支持属性设置,属性重置和属性获取接口。 1515 * 1516 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 1517 * 1: .value[0].f32:统一设置四条边的边框宽度,单位为百分比。 \n 1518 * 2: .value[0].f32:设置上边框的边框宽度,单位为百分比。 \n 1519 * .value[1].f32:设置右边框的边框宽度,单位为百分比。 \n 1520 * .value[2].f32:设置下边框的边框宽度,单位为百分比。 \n 1521 * .value[3].f32:设置左边框的边框宽度,单位为百分比。 \n 1522 * \n 1523 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 1524 * .value[0].f32:设置上边框的边框宽度,单位为百分比。 \n 1525 * .value[1].f32:设置右边框的边框宽度,单位为百分比。 \n 1526 * .value[2].f32:设置下边框的边框宽度,单位为百分比。 \n 1527 * .value[3].f32:设置左边框的边框宽度,单位为百分比。 \n 1528 * 1529 */ 1530 NODE_BORDER_WIDTH_PERCENT, 1531 /** 1532 * @brief 边框圆角属性,支持属性设置,属性重置和属性获取接口。 1533 * 1534 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 1535 * 1: .value[0].f32:统一设置四条边的边框圆角半径,单位为百分比。 \n 1536 * 2: .value[0].f32:设置左上角圆角半径,单位为百分比。 \n 1537 * .value[1].f32:设置右上角圆角半径,单位为百分比。 \n 1538 * .value[2].f32:设置左下角圆角半径,单位为百分比。 \n 1539 * .value[3].f32:设置右下角圆角半径,单位为百分比。 \n 1540 * \n 1541 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 1542 * .value[0].f32:设置左上角圆角半径,单位为百分比。 \n 1543 * .value[1].f32:设置右上角圆角半径,单位为百分比。 \n 1544 * .value[2].f32:设置左下角圆角半径,单位为百分比。 \n 1545 * .value[3].f32:设置右下角圆角半径,单位为百分比。 \n 1546 * 1547 */ 1548 NODE_BORDER_RADIUS_PERCENT, 1549 1550 /** 1551 * @brief Accessible ID, which can be obtained as required through APIs. 1552 * 1553 * Format of the return value {@link ArkUI_AttributeItem}:\n 1554 * .value[0].i32:Accessible ID。\n 1555 * 1556 */ 1557 NODE_ACCESSIBILITY_ID = 87, 1558 1559 /** 1560 * @brief Define accessible actions, which can be set, reset, and obtained as required through APIs. 1561 * 1562 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1563 * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n 1564 * \n 1565 * Format of the return value {@link ArkUI_AttributeItem}:\n 1566 * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n 1567 * 1568 */ 1569 NODE_ACCESSIBILITY_ACTIONS = 88, 1570 1571 /** 1572 * @brief Define accessible role, which can be set, reset, and obtained as required through APIs. 1573 * 1574 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1575 * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n 1576 * \n 1577 * Format of the return value {@link ArkUI_AttributeItem}:\n 1578 * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n 1579 * 1580 */ 1581 NODE_ACCESSIBILITY_ROLE = 89, 1582 1583 /** 1584 * @brief Define accessible state, which can be set, reset, and obtained as required through APIs. 1585 * 1586 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1587 * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n 1588 * \n 1589 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1590 * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n 1591 * 1592 */ 1593 NODE_ACCESSIBILITY_STATE = 90, 1594 1595 /** 1596 * @brief Define accessible value, which can be set, reset, and obtained as required through APIs. 1597 * 1598 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1599 * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n 1600 * \n 1601 * Format of the return value {@link ArkUI_AttributeItem}:\n 1602 * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n 1603 * 1604 */ 1605 NODE_ACCESSIBILITY_VALUE = 91, 1606 1607 /** 1608 * @brief 定义控制组件扩展其安全区域,支持属性设置,属性重置和属性获取。 1609 * 1610 * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n 1611 * .value[0]?.u32:扩展安全区域的枚举值集合{@link ArkUI_SafeAreaType}, 1612 * 例如:ARKUI_SAFE_AREA_TYPE_SYSTEM | ARKUI_SAFE_AREA_TYPE_CUTOUT;\n 1613 * .value[1]?.u32:扩展安全区域的方向枚举值集合{@link ArkUI_SafeAreaEdge};\n 1614 * 例如:ARKUI_SAFE_AREA_EDGE_TOP | ARKUI_SAFE_AREA_EDGE_BOTTOM;\n 1615 * \n 1616 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 1617 * .value[0].u32:扩展安全区域;\n。 \n 1618 * .value[1].u32:扩展安全区域的方向;\n。 \n 1619 * 1620 */ 1621 NODE_EXPAND_SAFE_AREA = 92, 1622 /** 1623 * @brief Defines the visible area ratio (visible area/total area of the component) threshold for invoking the 1624 * visible area change event of the component. 1625 * 1626 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1627 * .value[...].f32: threshold array. The value range is 0 to 1. 1628 * \n 1629 * Format of the return value {@link ArkUI_AttributeItem}:\n 1630 * .value[...].f32: threshold array. \n 1631 * 1632 */ 1633 NODE_VISIBLE_AREA_CHANGE_RATIO = 93, 1634 1635 /** 1636 * @brief 定义组件插入和删除时显示过渡动效,支持属性设置,属性获取。 1637 * 1638 * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n 1639 * .object:参数类型为{@link ArkUI_TransitionEffect}。 \n 1640 * \n 1641 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 1642 * .object:参数类型为{@link ArkUI_TransitionEffect}。 \n 1643 * 1644 */ 1645 NODE_TRANSITION = 94, 1646 1647 /** 1648 * @brief Defines the component ID. 1649 * This attribute can be obtained through APIs. 1650 * 1651 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute:\n 1652 * .value[0].i32: component ID. \n 1653 * 1654 */ 1655 NODE_UNIQUE_ID = 95, 1656 1657 /** 1658 * @brief Set the current component system focus box style. 1659 * 1660 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 1661 * .value[0].f32: The distance between the focus box and the edge of the component. \n 1662 * Positive numbers represent the outer side, negative numbers represent the inner side. \n 1663 * Percentage is not supported. \n 1664 * .value[1].f32: Focus box width. Negative numbers and percentages are not supported. \n 1665 * .value[2].u32: Focus box color. \n 1666 * \n 1667 * 1668 */ 1669 NODE_FOCUS_BOX = 96, 1670 1671 /** 1672 * @brief Defines the moving distance limit for the component-bound tap gesture. 1673 * This attribute can be set as required through APIs. 1674 * 1675 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1676 * .value[0].f32: allowed moving distance of a finger, in vp. \n 1677 * 1678 */ 1679 NODE_TAB_STOP = 98, 1680 1681 /** 1682 * @brief Defines blur attribute of backdrop, which can be set, reset, and obtained as required through APIs. 1683 * 1684 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1685 * .value[0].f32:Represents the blur radius of backdrop. The unit is px. The value range is [0,+∞).\n 1686 * .value[1]?.f32:Represents a gray scale blur parameter, which affects the degree of brightening black color.\n 1687 * The value range is [0,127].\n 1688 * .value[2]?.f32:Represents a gray scale blur parameter, which affects the degree of darkening white color.\n 1689 * The value range is [0,127].\n 1690 * \n 1691 * Format of the return value {@link ArkUI_AttributeItem}:\n 1692 * .value[0].f32:Represents the blur radius of backdrop. The unit is px. The value range is [0,+∞).\n 1693 * .value[1].f32:Represents a gray scale blur parameter, which affects the degree of brightening black color.\n 1694 * The value range is [0,127].\n 1695 * .value[2].f32:Represents a gray scale blur parameter, which affects the degree of darkening white color.\n 1696 * The value range is [0,127].\n 1697 * 1698 * @since 16 1699 */ 1700 NODE_BACKDROP_BLUR = 99, 1701 1702 /** 1703 * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. 1704 * 1705 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1706 * .string: text content.\n 1707 * \n 1708 * Format of the return value {@link ArkUI_AttributeItem}:\n 1709 * .string: text content.\n 1710 */ 1711 NODE_TEXT_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT, 1712 /** 1713 * @brief Defines the font color attribute, which can be set, reset, and obtained as required through APIs. 1714 * 1715 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1716 * .value[0].u32: font color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 1717 * \n 1718 * Format of the return value {@link ArkUI_AttributeItem}:\n 1719 * .value[0].u32: font color value, in 0xARGB format.\n 1720 * 1721 */ 1722 NODE_FONT_COLOR, 1723 /** 1724 * @brief Defines the font size attribute, which can be set, reset, and obtained as required through APIs. 1725 * 1726 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1727 * .value[0].f32: font size, in fp.\n 1728 * \n 1729 * Format of the return value {@link ArkUI_AttributeItem}:\n 1730 * .value[0].f32: font size, in fp.\n 1731 * 1732 */ 1733 NODE_FONT_SIZE, 1734 /** 1735 * @brief Defines the font style attribute, which can be set, reset, and obtained as required through APIs. 1736 * 1737 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1738 * .value[0].i32: font style {@link ArkUI_FontStyle}. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.\n 1739 * \n 1740 * Format of the return value {@link ArkUI_AttributeItem}:\n 1741 * .value[0].i32: font style {@link ArkUI_FontStyle}.\n 1742 * 1743 */ 1744 NODE_FONT_STYLE, 1745 /** 1746 * @brief Defines the font weight attribute, which can be set, reset, and obtained as required through APIs. 1747 * 1748 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1749 * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 1750 * \n 1751 * Format of the return value {@link ArkUI_AttributeItem}:\n 1752 * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n 1753 * 1754 */ 1755 NODE_FONT_WEIGHT, 1756 /** 1757 * @brief Defines the text line height attribute, which can be set, reset, and obtained as required through APIs. 1758 * 1759 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1760 * .value[0].f32: line height, in fp.\n 1761 * \n 1762 * Format of the return value {@link ArkUI_AttributeItem}:\n 1763 * .value[0].f32: line height, in fp.\n 1764 * 1765 */ 1766 NODE_TEXT_LINE_HEIGHT, 1767 /** 1768 * @brief Defines the text decoration style and color. 1769 * This attribute can be set, reset, and obtained as required through APIs. 1770 * 1771 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1772 * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}. 1773 * The default value is <b>ARKUI_TEXT_DECORATION_TYPE_NONE</b>.\n 1774 * .value[1]?.u32: text decoration color, in 0xARGB format. For example, 0xFFFF0000 indicates red. Optional.\n 1775 * .value[2]?.i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n 1776 * \n 1777 * Format of the return value {@link ArkUI_AttributeItem}:\n 1778 * .value[0].i32: text decoration type {@link ArkUI_TextDecorationType}.\n 1779 * .value[1].u32: text decoration color, in 0xARGB format. \n 1780 * .value[2].i32: text decoration style {@link ArkUI_TextDecorationStyle}. \n 1781 * 1782 */ 1783 NODE_TEXT_DECORATION, 1784 /** 1785 * @brief Defines the text case attribute, which can be set, reset, and obtained as required through APIs. 1786 * 1787 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1788 * .value[0].i32: text case.\n 1789 * \n 1790 * Format of the return value {@link ArkUI_AttributeItem}:\n 1791 * .value[0].i32: text case.\n 1792 * 1793 */ 1794 NODE_TEXT_CASE, 1795 /** 1796 * @brief Defines the letter spacing attribute, which can be set, reset, and obtained as required through APIs. 1797 * 1798 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1799 * .value[0].f32: letter spacing, in fp.\n 1800 * \n 1801 * Format of the return value {@link ArkUI_AttributeItem}:\n 1802 * .value[0].f32: letter spacing, in fp.\n 1803 * 1804 */ 1805 NODE_TEXT_LETTER_SPACING, 1806 /** 1807 * @brief Sets the maximum number of lines in the text. 1808 * This attribute can be set, reset, and obtained as required through APIs. 1809 * 1810 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1811 * .value[0].i32: maximum number of lines in the text.\n 1812 * \n 1813 * Format of the return value {@link ArkUI_AttributeItem}:\n 1814 * .value[0].i32: maximum number of lines in the text.\n 1815 * 1816 */ 1817 NODE_TEXT_MAX_LINES, 1818 /** 1819 * @brief Horizontal alignment mode of the text. 1820 * This attribute can be set, reset, and obtained as required through APIs. 1821 * 1822 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1823 * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n 1824 * \n 1825 * Format of the return value {@link ArkUI_AttributeItem}:\n 1826 * .value[0].i32: horizontal alignment mode of the text. The value is an enum of {@link ArkUI_TextAlignment}. \n 1827 * 1828 */ 1829 NODE_TEXT_ALIGN, 1830 /** 1831 * @brief Defines the text overflow attribute, which can be set, reset, and obtained as required through APIs. 1832 * 1833 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1834 * .value[0].i32: display mode when the text is too long {@link ArkUI_TextOverflow}. \n 1835 * \n 1836 * Format of the return value {@link ArkUI_AttributeItem}:\n 1837 * .value[0].i32: display mode when the text is too long {@link ArkUI_TextOverflow}. \n 1838 * 1839 */ 1840 NODE_TEXT_OVERFLOW, 1841 /** 1842 * @brief Defines the font family attribute, which can be set, reset, and obtained as required through APIs. 1843 * 1844 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1845 * .string: fonts, separated by commas (,). 1846 * \n 1847 * Format of the return value {@link ArkUI_AttributeItem}:\n 1848 * .string: fonts, separated by commas (,). 1849 * 1850 */ 1851 NODE_FONT_FAMILY, 1852 /** 1853 * @brief Defines the copy option attribute, which can be set, reset, and obtained as required through APIs. 1854 * 1855 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1856 * .value[0].i32: copy option {@link ArkUI_CopyOptions}. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.\n 1857 * \n 1858 * Format of the return value {@link ArkUI_AttributeItem}:\n 1859 * .value[0].i32: copy option {@link ArkUI_CopyOptions. \n 1860 * 1861 */ 1862 NODE_TEXT_COPY_OPTION, 1863 /** 1864 * @brief Defines the text baseline offset attribute 1865 * This attribute can be set, reset, and obtained as required through APIs. 1866 * 1867 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1868 * .value[0].f32: baseline offset, in fp.\n 1869 * \n 1870 * Format of the return value {@link ArkUI_AttributeItem}:\n 1871 * .value[0].f32: baseline offset, in fp. \n 1872 * 1873 */ 1874 NODE_TEXT_BASELINE_OFFSET, 1875 /** 1876 * @brief Defines the text shadow attribute, which can be set, reset, and obtained as required through APIs. 1877 * 1878 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1879 * .value[0].f32: blur radius of the shadow, in vp.\n 1880 * .value[1].i32: shadow type {@link ArkUI_ShadowType}. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.\n 1881 * .value[2].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 1882 * .value[3].f32: offset of the shadow along the x-axis, in vp.\n 1883 * .value[4].f32: offset of the shadow along the y-axis, in vp.\n 1884 * \n 1885 * Format of the return value {@link ArkUI_AttributeItem}:\n 1886 * .value[0].f32: blur radius of the shadow, in vp.\n 1887 * .value[1].i32: shadow type {@link ArkUI_ShadowType}.\n 1888 * .value[2].u32: shadow color, in 0xARGB format.\n 1889 * .value[3].f32: offset of the shadow along the x-axis, in vp.\n 1890 * .value[4].f32: offset of the shadow along the y-axis, in vp.\n 1891 * 1892 */ 1893 NODE_TEXT_TEXT_SHADOW, 1894 /** 1895 * @brief Defines the minimum font size attribute, which can be set, reset, and obtained as required through APIs. 1896 * 1897 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1898 * .value[0].f32: minimum font size, in fp. 1899 * \n 1900 * Format of the return value {@link ArkUI_AttributeItem}:\n 1901 * .value[0].f32: minimum font size, in fp. 1902 * 1903 */ 1904 NODE_TEXT_MIN_FONT_SIZE, 1905 1906 /** 1907 * @brief Defines the maximum font size attribute, which can be set, reset, and obtained as required through APIs. 1908 * 1909 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1910 * .value[0].f32: maximum font size, in fp. 1911 * \n 1912 * Format of the return value {@link ArkUI_AttributeItem}:\n 1913 * .value[0].f32: maximum font size, in fp. 1914 * 1915 */ 1916 NODE_TEXT_MAX_FONT_SIZE, 1917 1918 /** 1919 * @brief Defines the text style attribute, which can be set, reset, and obtained as required through APIs. 1920 * 1921 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1922 * .string?: font family. Optional. Use commas (,) to separate multiple fonts. \n 1923 * .value[0].f32: font size, in fp. \n 1924 * .value[1]?.i32: font weight. Optional. The parameter type is {@link ArkUI_FontWeight}. 1925 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 1926 * .value[2]?.i32: font style. Optional. The parameter type is {@link ArkUI_FontStyle}. 1927 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. 1928 * \n 1929 * Format of the return value {@link ArkUI_AttributeItem}:\n 1930 * .string: font family. Use commas (,) to separate multiple fonts. \n 1931 * .value[0].f32: font size, in fp. \n 1932 * .value[1].i32: font weight. The parameter type is {@link ArkUI_FontWeight}. 1933 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 1934 * .value[2].i32: font style. The parameter type is {@link ArkUI_FontStyle}. 1935 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. 1936 * 1937 */ 1938 NODE_TEXT_FONT, 1939 1940 /** 1941 * @brief Defines how the adaptive height is determined for the text. 1942 * This attribute can be set, reset, and obtained as required through APIs. 1943 * 1944 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1945 * .value[0].i32: how the adaptive height is determined for the text. 1946 * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy}. 1947 * \n 1948 * Format of the return value {@link ArkUI_AttributeItem}:\n 1949 * .value[0].i32: how the adaptive height is determined for the text. 1950 * The parameter type is {@link ArkUI_TextHeightAdaptivePolicy} 1951 * 1952 */ 1953 NODE_TEXT_HEIGHT_ADAPTIVE_POLICY, 1954 /** 1955 * @brief Defines the indentation of the first line. 1956 * This attribute can be set, reset, and obtained as required through APIs. 1957 * 1958 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1959 * .value[0].f32: indentation of the first line. \n 1960 * \n 1961 * Format of the return value {@link ArkUI_AttributeItem}:\n 1962 * .value[0].f32: indentation of the first line. \n 1963 * 1964 */ 1965 NODE_TEXT_INDENT, 1966 /** 1967 * @brief Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs. 1968 * 1969 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1970 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 1971 * \n 1972 * Format of the return value {@link ArkUI_AttributeItem}:\n 1973 * .value[0].i32: The parameter type is {@link ArkUI_WordBreak}. \n 1974 * 1975 */ 1976 NODE_TEXT_WORD_BREAK, 1977 /** 1978 * @brief Defines the ellipsis position. This attribute can be set, reset, and obtained as required through APIs. 1979 * 1980 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1981 * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n 1982 * \n 1983 * Format of the return value {@link ArkUI_AttributeItem}:\n 1984 * .value[0].i32: The parameter type is {@link ArkUI_EllipsisMode}. \n 1985 * 1986 */ 1987 NODE_TEXT_ELLIPSIS_MODE, 1988 /** 1989 * @brief Defines the text line spacing attribute, which can be set, reset, and obtained as required through APIs. 1990 * 1991 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 1992 * .value[0].f32: line spacing, in fp.\n 1993 * \n 1994 * Format of the return value {@link ArkUI_AttributeItem}:\n 1995 * .value[0].f32: line spacing, in fp.\n 1996 * 1997 */ 1998 NODE_TEXT_LINE_SPACING, 1999 /** 2000 * @brief Set the text feature effect and the NODE_FONT_FEATURE attribute, 2001 * NODE_FONT_FEATURE is the advanced typesetting capability of OpenType 2002 * Features such as ligatures and equal-width digits are generally used in customized fonts. \n 2003 * The capabilities need to be supported by the fonts, \n 2004 * Interfaces for setting, resetting, and obtaining attributes are supported. \n 2005 * Attribute setting method parameter {@Link ArkUI_AttributeItem} format: \n 2006 * .string: complies with the text feature format. The format is normal | \n 2007 * is in the format of [ | on | off],\n. 2008 * There can be multiple values separated by commas (,). \n 2009 * For example, the input format of a number with the same width is ss01 on. \n 2010 * \n 2011 * Attribute obtaining method return value {@Link ArkUI_AttributeItem} format:\n 2012 * .string indicates the content of the text feature. Multiple text features are separated by commas (,). \n 2013 */ 2014 NODE_TEXT_FONT_FEATURE, 2015 2016 /** 2017 * @brief 设置使能文本识别。 2018 * 2019 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2020 * .value[0].i32:使能文本识别,默认值false。\n 2021 * \n 2022 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2023 * .value[0].i32:使能文本识别。\n 2024 * 2025 */ 2026 NODE_TEXT_ENABLE_DATA_DETECTOR, 2027 /** 2028 * @brief 设置文本识别配置。 2029 * 2030 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2031 * .value[0...].i32: 实体类型数组,参数类型{@link ArkUI_TextDataDetectorType}。\n 2032 * \n 2033 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2034 * .value[0...].i32:实体类型数组,参数类型{@link ArkUI_TextDataDetectorType}。\n 2035 * 2036 */ 2037 NODE_TEXT_ENABLE_DATA_DETECTOR_CONFIG, 2038 /** 2039 * @brief 文本选中时的背景色属性,支持属性设置,属性重置和属性获取接口。 2040 * 2041 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2042 * .value[0].u32:颜色数值,0xargb格式,形如 0xFFFF0000 表示红色。\n 2043 * \n 2044 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2045 * .value[0].u32:颜色数值,0xargb格式。\n 2046 * 2047 */ 2048 NODE_TEXT_SELECTED_BACKGROUND_COLOR, 2049 2050 /** 2051 * @brief The text component uses a formatted string object to set text content properties, 2052 * and supports property setting, property reset, and property acquisition interfaces. 2053 * 2054 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2055 * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n 2056 * \n 2057 * Format of the return value {@link ArkUI_AttributeItem}:\n 2058 * .object indicates ArkUI_StyledString formatted string data. The parameter type is {@link ArkUI_StyledString}. \n 2059 */ 2060 NODE_TEXT_CONTENT_WITH_STYLED_STRING, 2061 2062 /** 2063 * @brief 设置文本居中显示。 2064 * 2065 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2066 * .value[0].i32:文本是否居中,默认值false。\n 2067 * \n 2068 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2069 * .value[0].i32:文本是否居中。\n 2070 * 2071 */ 2072 NODE_TEXT_HALF_LEADING = 1029, 2073 2074 /** 2075 * @brief Defines the font weight attribute, which can be set, reset, and obtained as required through APIs. 2076 * The font weight set through this interface does not support adaptive adjustment. 2077 * 2078 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2079 * .value[0].i32: font weight {@link ArkUI_FontWeight}. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 2080 * \n 2081 * Format of the return value {@link ArkUI_AttributeItem}:\n 2082 * .value[0].i32: font weight {@link ArkUI_FontWeight}.\n 2083 * 2084 * @since 15 2085 */ 2086 NODE_IMMUTABLE_FONT_WEIGHT = 1030, 2087 2088 /** 2089 * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. 2090 * 2091 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2092 * .string: content of the text span. \n 2093 * \n 2094 * Format of the return value {@link ArkUI_AttributeItem}:\n 2095 * .string: content of the text span. \n 2096 * 2097 */ 2098 NODE_SPAN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SPAN, 2099 /** 2100 * @brief Defines the text background style. 2101 * This attribute can be set, reset, and obtained as required through APIs. 2102 * 2103 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2104 * .value[0].u32: color of the text background, in 0xARGB format, for example, <b>0xFFFF0000</b> indicating red. \n 2105 * The second parameter indicates the rounded corners of the text background. Two setting modes are available: \n 2106 * 1: .value[1].f32: radius of the four corners, in vp. \n 2107 * 2: .value[1].f32: radius of the upper left corner, in vp. \n 2108 * .value[2].f32: radius of the upper right corner, in vp. \n 2109 * .value[3].f32: radius of the lower left corner, in vp. \n 2110 * .value[4].f32: radius of the lower right corner, in vp. \n 2111 * \n 2112 * Format of the return value {@link ArkUI_AttributeItem}:\n 2113 * .value[0].u32: color of the text background, in 0xARGB format. \n 2114 * .value[1].f32: radius of the upper left corner, in vp. \n 2115 * .value[2].f32: radius of the upper right corner, in vp. \n 2116 * .value[3].f32: radius of the lower left corner, in vp. \n 2117 * .value[4].f32: radius of the lower right corner, in vp. \n 2118 * 2119 */ 2120 NODE_SPAN_TEXT_BACKGROUND_STYLE, 2121 NODE_SPAN_BASELINE_OFFSET, 2122 /** 2123 * @brief Defines the image source of the image span. 2124 * This attribute can be set, reset, and obtained as required through APIs. 2125 * 2126 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2127 * .string: image address of the image span.\n 2128 * \n 2129 * Format of the return value {@link ArkUI_AttributeItem}:\n 2130 * .string: image address of the image span.\n 2131 * 2132 */ 2133 NODE_IMAGE_SPAN_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_SPAN, 2134 /** 2135 * @brief Defines the alignment mode of the image with the text. 2136 * This attribute can be set, reset, and obtained as required through APIs. 2137 * 2138 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2139 * .value[0].i32: alignment mode of the image with the text. 2140 * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n 2141 * \n 2142 * Format of the return value {@link ArkUI_AttributeItem}:\n 2143 * .value[0].i32: alignment mode of the image with the text. 2144 * The value is an enum of {@link ArkUI_ImageSpanAlignment}. \n 2145 * 2146 */ 2147 NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT, 2148 NODE_IMAGE_SPAN_ALT, 2149 /** 2150 * @brief Defines the image span baseline offset attribute 2151 * This attribute can be set, reset, and obtained as required through APIs. 2152 * 2153 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2154 * .value[0].f32: baseline offset, in fp.\n 2155 * \n 2156 * Format of the return value {@link ArkUI_AttributeItem}:\n 2157 * .value[0].f32: baseline offset, in fp. \n 2158 * 2159 */ 2160 NODE_IMAGE_SPAN_BASELINE_OFFSET = 3003, 2161 /** 2162 * @brief Defines the image source of the <Image> component. 2163 * This attribute can be set, reset, and obtained as required through APIs. 2164 * 2165 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2166 * .string: image source.\n 2167 * \n 2168 * Format of the return value {@link ArkUI_AttributeItem}:\n 2169 * .string: image source.\n 2170 * 2171 */ 2172 NODE_IMAGE_SRC = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE, 2173 /** 2174 * @brief Defines how the image is resized to fit its container. 2175 * This attribute can be set, reset, and obtained as required through APIs. 2176 * 2177 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2178 * .value[0].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n 2179 * \n 2180 * Format of the return value {@link ArkUI_AttributeItem}:\n 2181 * .value[0].i32: how the image is resized to fit its container. The value is an enum of {@link ArkUI_ObjectFit}. \n 2182 * 2183 */ 2184 NODE_IMAGE_OBJECT_FIT, 2185 /** 2186 * @brief Defines the interpolation effect of the image. 2187 * This attribute can be set, reset, and obtained as required through APIs. 2188 * 2189 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2190 * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n 2191 * \n 2192 * Format of the return value {@link ArkUI_AttributeItem}:\n 2193 * .value[0].i32: interpolation effect of the image. The value is an enum of {@link ArkUI_ImageInterpolation}. \n 2194 * 2195 */ 2196 NODE_IMAGE_INTERPOLATION, 2197 /** 2198 * @brief Defines how the image is repeated. 2199 * This attribute can be set, reset, and obtained as required through APIs. 2200 * 2201 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2202 * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n 2203 * \n 2204 * Format of the return value {@link ArkUI_AttributeItem}:\n 2205 * .value[0].i32: how the image is repeated. The value is an enum of {@link ArkUI_ImageRepeat}. \n 2206 * 2207 */ 2208 NODE_IMAGE_OBJECT_REPEAT, 2209 /** 2210 * @brief Defines the color filter of the image. 2211 * This attribute can be set, reset, and obtained as required through APIs. 2212 * 2213 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2214 * .value[0].f32 to .value[19].f32: filter matrix array. \n 2215 * .size: 5 x 4 filter array size. \n 2216 * .object: the pointer to OH_Drawing_ColorFilter. Either .value or .object is set. \n 2217 * \n 2218 * Format of the return value {@link ArkUI_AttributeItem}:\n 2219 * .value[0].f32 to .value[19].f32: filter matrix array. \n 2220 * .size: 5 x 4 filter array size. \n 2221 * .object: the pointer to OH_Drawing_ColorFilter. \n 2222 * 2223 */ 2224 NODE_IMAGE_COLOR_FILTER, 2225 /** 2226 * @brief Defines the auto resize attribute, which can be set, reset, and obtained as required through APIs. 2227 * 2228 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2229 * .value[0].i32 : whether to resize the image source. \n 2230 * \n 2231 * Format of the return value {@link ArkUI_AttributeItem}:\n 2232 * .value[0].i32 : whether to resize the image source. \n 2233 * 2234 */ 2235 NODE_IMAGE_AUTO_RESIZE, 2236 /** 2237 * @brief Defines the placeholder image source. 2238 * This attribute can be set, reset, and obtained as required through APIs. 2239 * 2240 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2241 * .string: placeholder image source. \n 2242 * \n 2243 * Format of the return value {@link ArkUI_AttributeItem}:\n 2244 * .string: placeholder image source. \n 2245 * 2246 */ 2247 NODE_IMAGE_ALT, 2248 /** 2249 * @brief Defines whether the image is draggable. 2250 * This attribute can be set, reset, and obtained as required through APIs. 2251 * 2252 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2253 * .value[0].i32: whether the image is draggable. The value <b>true</b> means that the image is draggable. \n 2254 * \n 2255 * Format of the return value {@link ArkUI_AttributeItem}:\n 2256 * .value[0].i32: whether the image is draggable. \n 2257 * 2258 */ 2259 NODE_IMAGE_DRAGGABLE, 2260 /** 2261 * @brief Defines the image rendering mode. This attribute can be set, reset, and obtained as required through APIs. 2262 * 2263 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2264 * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n 2265 * \n 2266 * Format of the return value {@link ArkUI_AttributeItem}:\n 2267 * .value[0].i32: The parameter type is {@link ArkUI_ImageRenderMode}. \n 2268 * 2269 */ 2270 NODE_IMAGE_RENDER_MODE, 2271 /** 2272 * @brief 设置图片的显示尺寸是否跟随图源尺寸,支持属性设置,属性重置和属性获取接口。 2273 * 2274 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2275 * .value[0].i32,设置图片的显示尺寸是否跟随图源尺寸,1表示跟随,0表示不跟随,默认值为0。\n 2276 * \n 2277 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2278 * .value[0].i32,1表示图片的显示尺寸跟随图源尺寸,0表示图片的显示尺寸不跟随图源尺寸。\n 2279 * 2280 */ 2281 NODE_IMAGE_FIT_ORIGINAL_SIZE, 2282 /** 2283 * @brief 设置填充颜色,设置后填充颜色会覆盖在图片上,支持属性设置,属性重置和属性获取接口。 2284 * 2285 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2286 * .value[0].u32:填充色数值,0xargb格式,形如 0xFFFF0000 表示红色。\n 2287 * \n 2288 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2289 * .value[0].u32:填充色数值,0xargb格式。\n 2290 * 2291 */ 2292 NODE_IMAGE_FILL_COLOR, 2293 /** 2294 * @brief Sets the resizable image options. 2295 * 2296 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2297 * .value[0].f32: width of the left edge. The unit is vp. \n 2298 * .value[1].f32: width of the top edge. The unit is vp. \n 2299 * .value[2].f32: width of the right edge. The unit is vp. \n 2300 * .value[3].f32: width of the bottom edge. The unit is vp. \n 2301 * \n 2302 * Format of the return value {@link ArkUI_AttributeItem}:\n 2303 * .value[0].f32: width of the left edge. The unit is vp. \n 2304 * .value[1].f32: width of the top edge. The unit is vp. \n 2305 * .value[2].f32: width of the right edge. The unit is vp. \n 2306 * .value[3].f32: width of the bottom edge. The unit is vp. \n 2307 * 2308 */ 2309 NODE_IMAGE_RESIZABLE, 2310 /** 2311 * @brief Defines the color of the component when it is selected. 2312 * This attribute can be set, reset, and obtained as required through APIs. 2313 * 2314 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2315 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2316 * \n 2317 * Format of the return value {@link ArkUI_AttributeItem}:\n 2318 * .value[0].u32: background color, in 0xARGB format. \n 2319 * 2320 */ 2321 NODE_TOGGLE_SELECTED_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE, 2322 /** 2323 * @brief Defines the color of the circular slider for the component of the switch type. 2324 * This attribute can be set, reset, and obtained as required through APIs. 2325 * 2326 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2327 * .value[0].u32: color of the circular slider, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2328 * \n 2329 * Format of the return value {@link ArkUI_AttributeItem}:\n 2330 * .value[0].u32: color of the circular slider, in 0xARGB format. \n 2331 * 2332 */ 2333 NODE_TOGGLE_SWITCH_POINT_COLOR, 2334 /** 2335 * @brief Defines the toggle switch value. This attribute can be set, reset, and obtained as required through APIs. 2336 * 2337 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2338 * .value[0].i32: whether to enable the toggle. The value <b>true</b> means to enable the toggle. \n 2339 * \n 2340 * Format of the return value {@link ArkUI_AttributeItem}:\n 2341 * .value[0].i32: whether to enable the toggle. \n 2342 * 2343 */ 2344 NODE_TOGGLE_VALUE, 2345 /** 2346 * @brief Defines the color of the component when it is deselected. 2347 * This attribute can be set, reset, and obtained as required through APIs. 2348 * 2349 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2350 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2351 * \n 2352 * Format of the return value {@link ArkUI_AttributeItem}:\n 2353 * .value[0].u32: background color, in 0xARGB format. \n 2354 * 2355 */ 2356 NODE_TOGGLE_UNSELECTED_COLOR, 2357 2358 /** 2359 * @brief Defines the foreground color of the loading progress bar. 2360 * This attribute can be set, reset, and obtained as required through APIs. 2361 * 2362 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2363 * .value[0].u32: foreground color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2364 * \n 2365 * Format of the return value {@link ArkUI_AttributeItem}:\n 2366 * .value[0].u32: foreground color, in 0xARGB format. \n 2367 * 2368 */ 2369 NODE_LOADING_PROGRESS_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LOADING_PROGRESS, 2370 /** 2371 * @brief Defines whether to show the loading animation for the <LoadingProgress> component. 2372 * This attribute can be set, reset, and obtained as required through APIs. 2373 * 2374 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2375 * .value[0].i32: whether to show the loading animation. 2376 * The value <b>true</b> means to show the loading animation, and <b>false</b> means the opposite.\n 2377 * \n 2378 * Format of the return value {@link ArkUI_AttributeItem}:\n 2379 * .value[0].i32: The value <b>1</b> means to show the loading animation, and <b>0</b> means the opposite. \n 2380 * 2381 */ 2382 NODE_LOADING_PROGRESS_ENABLE_LOADING, 2383 2384 /** 2385 * @brief Defines the default placeholder text of the single-line text box. 2386 * This attribute can be set, reset, and obtained as required through APIs. 2387 * 2388 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2389 * .string: default placeholder text. \n 2390 * \n 2391 * Format of the return value {@link ArkUI_AttributeItem}:\n 2392 * .string: default placeholder text. \n 2393 * 2394 */ 2395 NODE_TEXT_INPUT_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT, 2396 /** 2397 * @brief Defines the default text content of the single-line text box. 2398 * This attribute can be set, reset, and obtained as required through APIs. 2399 * 2400 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2401 * .string: default text content. \n 2402 * \n 2403 * Format of the return value {@link ArkUI_AttributeItem}:\n 2404 * .string: default text content. \n 2405 * 2406 */ 2407 NODE_TEXT_INPUT_TEXT, 2408 /** 2409 * @brief Defines the caret color attribute. 2410 * This attribute can be set, reset, and obtained as required through APIs. 2411 * 2412 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2413 * .value[0].u32: caret color, in 0xARGB format. For example, 0xFFFF0000 indicates red.\n 2414 * \n 2415 * Format of the return value {@link ArkUI_AttributeItem}:\n 2416 * .value[0].u32: caret color, in 0xARGB format. \n 2417 * 2418 */ 2419 NODE_TEXT_INPUT_CARET_COLOR, 2420 /** 2421 * @brief Defines the caret style attribute. 2422 * This attribute can be set, reset, and obtained as required through APIs. 2423 * 2424 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2425 * .value[0].f32: caret width, in vp.\n 2426 * \n 2427 * Format of the return value {@link ArkUI_AttributeItem}:\n 2428 * .value[0].f32: caret width, in vp. \n 2429 * 2430 */ 2431 NODE_TEXT_INPUT_CARET_STYLE, 2432 /** 2433 * @brief Defines the underline attribute of the single-line text box. 2434 * This attribute can be set, reset, and obtained as required through APIs. 2435 * 2436 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2437 * .value[0].i32: whether to show an underline. 2438 * The value <b>true</b> means to show an underline, and <b>false</b> means the opposite.\n 2439 * \n 2440 * Format of the return value {@link ArkUI_AttributeItem}:\n 2441 * .value[0].i32: The value <b>1</b> means to show an underline, and <b>0</b> means the opposite. \n 2442 * 2443 */ 2444 NODE_TEXT_INPUT_SHOW_UNDERLINE, 2445 /** 2446 * @brief Defines the maximum number of characters in the text input. 2447 * This attribute can be set, reset, and obtained as required through APIs. 2448 * 2449 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2450 * .value[0].i32: maximum number of characters in the text input, without a unit. \n 2451 * \n 2452 * Format of the return value {@link ArkUI_AttributeItem}:\n 2453 * .value[0].i32: maximum number of characters in the text input. \n 2454 * 2455 */ 2456 NODE_TEXT_INPUT_MAX_LENGTH, 2457 /** 2458 * @brief Defines the type of the Enter key. 2459 * This attribute can be set, reset, and obtained as required through APIs. 2460 * 2461 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2462 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. The default value is 2463 * <b>ARKUI_ENTER_KEY_TYPE_DONE</b>. \n 2464 * \n 2465 * Format of the return value {@link ArkUI_AttributeItem}:\n 2466 * .value[0].i32: type of the Enter key{@link ArkUI_EnterKeyType}. \n 2467 * 2468 */ 2469 NODE_TEXT_INPUT_ENTER_KEY_TYPE, 2470 /** 2471 * @brief Defines the placeholder text color. 2472 * This attribute can be set, reset, and obtained as required through APIs. 2473 * 2474 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2475 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2476 * \n 2477 * Format of the return value {@link ArkUI_AttributeItem}:\n 2478 * .value[0].u32: color value, in 0xARGB format. \n 2479 * 2480 */ 2481 NODE_TEXT_INPUT_PLACEHOLDER_COLOR, 2482 /** 2483 * @brief Defines the placeholder text font. 2484 * This attribute can be set, reset, and obtained as required through APIs. 2485 * 2486 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2487 * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n 2488 * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional. 2489 * The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>. \n 2490 * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional. 2491 * The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>. \n 2492 * ?.string: font family. Multiple font families are separated by commas (,). 2493 * Example: "font weight; font family 1, font family 2". \n 2494 * \n 2495 * Format of the return value {@link ArkUI_AttributeItem}:\n 2496 * .value[0].f32: font size, in fp.\n 2497 * .value[1].i32: font style {@link ArkUI_FontStyle}.\n 2498 * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n 2499 * .string: font family. Multiple font families are separated by commas (,). \n 2500 * 2501 */ 2502 NODE_TEXT_INPUT_PLACEHOLDER_FONT, 2503 /** 2504 * @brief Defines whether to enable the input method when the component obtains focus. 2505 * This attribute can be set, reset, and obtained as required through APIs. 2506 * 2507 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2508 * .value[0].i32: whether to enable the input method when the component obtains focus. 2509 * The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.\n \n 2510 * \n 2511 * Format of the return value {@link ArkUI_AttributeItem}:\n 2512 * .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus, 2513 * and <b>0</b> means the opposite. \n 2514 * 2515 */ 2516 NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS, 2517 /** 2518 * @brief Defines the text box type. This attribute can be set, reset, and obtained as required through APIs. 2519 * 2520 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2521 * .value[0].i32: text box type {@link ArkUI_TextInputType}. 2522 * The default value is <b>ARKUI_TEXTINPUT_TYPE_NORMAL</b>. \n 2523 * \n 2524 * Format of the return value {@link ArkUI_AttributeItem}:\n 2525 * .value[0].i32: text box type {@link ArkUI_TextInputType}. \n 2526 * 2527 */ 2528 NODE_TEXT_INPUT_TYPE, 2529 /** 2530 * @brief Defines the background color of the selected text. 2531 * This attribute can be set, reset, and obtained as required through APIs. 2532 * 2533 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2534 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2535 * \n 2536 * Format of the return value {@link ArkUI_AttributeItem}:\n 2537 * .value[0].u32: color value, in 0xARGB format. \n 2538 * 2539 */ 2540 NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR, 2541 /** 2542 * @brief Defines whether to display the password icon at the end of the password text box. 2543 * This attribute can be set, reset, and obtained as required through APIs. 2544 * 2545 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2546 * .value[0].i32: whether to display the password icon at the end of the password text box. 2547 * The value <b>true</b> means to display the password icon, and <b>false</b> means the opposite.\n 2548 * \n 2549 * Format of the return value {@link ArkUI_AttributeItem}:\n 2550 * .value[0].i32: The value <b>1</b> means to display the password icon at the end of the password text box, 2551 * and <b>0</b> means the opposite. \n 2552 * 2553 */ 2554 NODE_TEXT_INPUT_SHOW_PASSWORD_ICON, 2555 /** 2556 * @brief Defines the editable state for the single-line text box. 2557 * This attribute can be set as required through APIs. 2558 * 2559 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 2560 * .value[0].i32: whether to remain in the editable state. The value 2561 * <b>true</b> means to remain in the editable state, and <b>false</b> means to exit the editable state. \n 2562 * \n 2563 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute: 2564 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable 2565 * state, and <b>false</b> means to exit the editable state. \n 2566 * 2567 */ 2568 NODE_TEXT_INPUT_EDITING, 2569 /** 2570 * @brief Defines the style of the cancel button on the right of the single-line text box. 2571 * This attribute can be set, reset, and obtained as required through APIs. 2572 * 2573 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: \n 2574 * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}. 2575 * The default value is <b>ARKUI_CANCELBUTTON_STYLE_INPUT</b>.\n 2576 * .value[1]?.f32: button icon size, in vp.\n 2577 * .value[2]?.u32: button icon color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2578 * ?.string: button icon image source. The value is the local address of the image, for example, /pages/icon.png. \n 2579 * \n 2580 * Format of the return value {@link ArkUI_AttributeItem}:\n 2581 * .value[0].i32: button style {@link ArkUI_CancelButtonStyle}.\n 2582 * .value[1].f32: icon size, in vp.\n 2583 * .value[2].u32: button icon color, in 0xARGB format.\n 2584 * .string: button icon image source. \n 2585 * 2586 */ 2587 NODE_TEXT_INPUT_CANCEL_BUTTON, 2588 /** 2589 * @brief Sets the text selection area, which will be highlighted. 2590 * This attribute can be set, reset, and obtained as required through APIs. 2591 * 2592 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2593 * .value[0].i32: start position of the text selection. \n 2594 * .value[1].i32: end position of the text selection. \n 2595 * \n 2596 * Format of the return value {@link ArkUI_AttributeItem}:\n 2597 * .value[0].i32: start position of the text selection. \n 2598 * .value[1].i32: end position of the text selection. \n 2599 * 2600 */ 2601 NODE_TEXT_INPUT_TEXT_SELECTION, 2602 /** 2603 * @brief Sets the color of the text underline when it is enabled. 2604 * 2605 * The default underline color configured for the theme is <b>'0x33182431'</b>. 2606 * 2607 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2608 * .value[0].u32: color of the underline applied to the text being typed in. 2609 * The value is in 0xARGB format. \n 2610 * .value[1].u32: color of the underline applied to the text in the normal state. 2611 * The value is in 0xARGB format. \n 2612 * .value[2].u32: color of the underline applied to the text when an error is detected. 2613 * The value is in 0xARGB format. \n 2614 * .value[3].u32: color of the underline applied to the text when it is disabled. 2615 * The value is in 0xARGB format. \n 2616 * \n 2617 * Format of the return value {@link ArkUI_AttributeItem}:\n 2618 * .value[0].u32: color of the underline applied to the text being typed in. The value is in 0xARGB format. \n 2619 * .value[1].u32: color of the underline applied to the text in the normal state. The value is in 0xARGB format. \n 2620 * .value[2].u32: color of the underline applied to the text when an error is detected. 2621 * The value is in 0xARGB format. \n 2622 * .value[3].u32: color of the underline applied to the text when it is disabled. The value is in 0xARGB format. \n 2623 * 2624 */ 2625 NODE_TEXT_INPUT_UNDERLINE_COLOR, 2626 /** 2627 * @brief Sets whether to enable autofill. 2628 * 2629 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2630 * .value[0].i32: whether to enable autofill. The default value is <b>true</b>. \n 2631 * \n 2632 * Format of the return value {@link ArkUI_AttributeItem}:\n 2633 * .value[0].i32: whether to enable autofill. \n 2634 * 2635 */ 2636 NODE_TEXT_INPUT_ENABLE_AUTO_FILL, 2637 /** 2638 * @brief Sets the autofill type. 2639 * 2640 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2641 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 2642 * \n 2643 * Format of the return value {@link ArkUI_AttributeItem}:\n 2644 * .value[0].i32: autofill type. The parameter type is {@link ArkUI_TextInputContentType}. \n 2645 * 2646 */ 2647 NODE_TEXT_INPUT_CONTENT_TYPE, 2648 /** 2649 * @brief Defines the rules for generating passwords. When autofill is used, these rules are transparently 2650 * transmitted to Password Vault for generating a new password. 2651 * 2652 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2653 * .string: rules for generating passwords. \n 2654 * \n 2655 * Format of the return value {@link ArkUI_AttributeItem}:\n 2656 * .string: rules for generating passwords. \n 2657 * 2658 */ 2659 NODE_TEXT_INPUT_PASSWORD_RULES, 2660 /** 2661 * @brief Sets whether to select all text in the initial state. The inline mode is not supported. 2662 * 2663 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2664 * .value[0].i32: whether to select all text in the initial state. The default value is b>false</b>. \n 2665 * \n 2666 * Format of the return value {@link ArkUI_AttributeItem}:\n 2667 * .value[0].i32: whether to select all text in the initial state. \n 2668 * 2669 */ 2670 NODE_TEXT_INPUT_SELECT_ALL, 2671 /** 2672 * @brief Sets the regular expression for input filtering. Only inputs that comply with the regular expression can be 2673 * displayed. Other inputs are filtered out. The specified regular expression can match single characters, 2674 * but not strings. 2675 * 2676 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2677 * .string: regular expression. \n 2678 * \n 2679 * Format of the return value {@link ArkUI_AttributeItem}:\n 2680 * .string: regular expression. \n 2681 * 2682 */ 2683 NODE_TEXT_INPUT_INPUT_FILTER, 2684 /** 2685 * @brief Sets the text box to the default style or inline input style. 2686 * 2687 * For the inline input style, only <b>InputType.Normal</b> is supported. 2688 * 2689 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2690 * .value[0].i32: text input style. The parameter type is {@link ArkUI_TextInputStyle}. \n 2691 * \n 2692 * Format of the return value {@link ArkUI_AttributeItem}:\n 2693 * .value[0].i32: text input style. The parameter type is {@link ArkUI_TextInputStyle}. \n 2694 * 2695 */ 2696 NODE_TEXT_INPUT_STYLE, 2697 /** 2698 * @brief Sets or obtains the caret position. 2699 * 2700 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2701 * In the case of setting the caret position: 2702 * .value[0].i32: character count from the beginning of a string to the caret position. \n 2703 * 2704 * Format of the return value {@link ArkUI_AttributeItem}:\n 2705 * In the case of obtaining the caret position: If this API is called when the caret position is updated in the 2706 * current frame, it will not take effect. 2707 * .value[0].i32: index of the caret position. \n 2708 * .value[1].f32: X coordinate of the caret relative to the text box. \n 2709 * .value[2].f32: Y coordinate of the caret relative to the text box. \n 2710 */ 2711 NODE_TEXT_INPUT_CARET_OFFSET, 2712 /** 2713 * @brief Obtains the position of the edited text area relative to the component and its size. 2714 * 2715 * Format of the return value {@link ArkUI_AttributeItem}:\n 2716 * .value[0].f32: horizontal coordinate. \n 2717 * .value[1].f32: vertical coordinate. \n 2718 * .value[2].f32: content width. \n 2719 * .value[3].f32: content height. \n 2720 * 2721 */ 2722 NODE_TEXT_INPUT_CONTENT_RECT, 2723 /** 2724 * @brief Obtains the number of lines of the edited text. 2725 * 2726 * Format of the return value {@link ArkUI_AttributeItem}:\n 2727 * .value[0].i32: number of lines of the edited text. \n 2728 * 2729 */ 2730 NODE_TEXT_INPUT_CONTENT_LINE_COUNT, 2731 /** 2732 * @brief 设置长按、双击输入框或者右键输入框时,是否不弹出文本选择菜单,支持属性设置,属性重置和属性获取接口。 2733 * 2734 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2735 * .value[0].i32: 长按、双击输入框或者右键输入框时,是否不弹出文本选择菜单。默认值false。\n 2736 * \n 2737 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2738 * .value[0].i32: 长按、双击输入框或者右键输入框时,是否不弹出文本选择菜单。\n 2739 * 2740 */ 2741 NODE_TEXT_INPUT_SELECTION_MENU_HIDDEN, 2742 /** 2743 * @brief Sets whether the text box loses focus after the Enter key is pressed to submit information. 2744 * 2745 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2746 * .value[0].i32: whether the text box loses focus. \n 2747 * \n 2748 * Format of the return value {@link ArkUI_AttributeItem}:\n 2749 * .value[0].i32: whether the text box loses focus. \n 2750 * 2751 */ 2752 NODE_TEXT_INPUT_BLUR_ON_SUBMIT, 2753 /** 2754 * @brief 设置自定义键盘。 2755 * 2756 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2757 * .object:自定义键盘,参数类型{@Link ArkUI_NodeHandle}。\n 2758 * .value[0]?.i32:设置自定义键盘是否支持避让功能,默认值false。\n 2759 * \n 2760 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2761 * .object:自定义键盘,参数类型{@Link ArkUI_NodeHandle}。\n 2762 * .value[0].i32:设置自定义键盘是否支持避让功能。\n 2763 * 2764 */ 2765 NODE_TEXT_INPUT_CUSTOM_KEYBOARD, 2766 /** 2767 * @brief 文本断行规则属性,支持属性设置,属性重置,属性获取接口。 2768 * 2769 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2770 * .value[0].i32: 参数类型{@link ArkUI_WordBreak}。\n 2771 * \n 2772 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2773 * .value[0].i32: 参数类型{@link ArkUI_WordBreak}。\n 2774 * 2775 */ 2776 NODE_TEXT_INPUT_WORD_BREAK, 2777 2778 /** 2779 * @brief 设置输入框获取焦点时是否弹出键盘,支持属性设置,属性重置和属性获取接口。 2780 * 2781 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2782 * .value[0].i32: 是否弹出键盘。\n 2783 * \n 2784 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2785 * .value[0].i32: 是否弹出键盘。\n 2786 * 2787 */ 2788 NODE_TEXT_INPUT_SHOW_KEYBOARD_ON_FOCUS, 2789 2790 /** 2791 * @brief 设置该属性后,通过该属性计算textInput组件的高度。 2792 * 2793 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2794 * .value[0].i32: 设置numberOfLines的值。\n 2795 * \n 2796 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2797 * .value[0].i32: 设置numberOfLines的值。\n 2798 * 2799 */ 2800 NODE_TEXT_INPUT_NUMBER_OF_LINES, 2801 /** 2802 * @brief 设置该属性后,通过该属性调整textInput组件的字符间距。 2803 * 接口支持设置,重置以及获取该属性。 2804 * 2805 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2806 * .value[0].f32: 设置letterSpacing的值,默认单位fp。\n 2807 * \n 2808 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2809 * .value[0].f32: 获取letterSpacing的值,默认单位fp。\n 2810 * 2811 * @since 15 2812 */ 2813 NODE_TEXT_INPUT_LETTER_SPACING = 7032, 2814 2815 /** 2816 * @brief 设置textInput组件是否开启输入预上屏。 2817 * 接口支持设置,重置以及获取该属性。 2818 * 2819 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2820 * .value[0].i32: 设置是否开启输入预上屏。\n 2821 * \n 2822 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2823 * .value[0].i32: 获取是否开启输入预上屏。\n 2824 * 2825 * @since 15 2826 */ 2827 NODE_TEXT_INPUT_ENABLE_PREVIEW_TEXT = 7033, 2828 2829 /** 2830 * @brief Set the keyboard style of textInput 2831 * 2832 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2833 * .value[0].i32: keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n 2834 * \n 2835 * Format of the return value {@link ArkUI_AttributeItem}:\n 2836 * .value[0].i32: keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n 2837 * 2838 * @since 15 2839 */ 2840 NODE_TEXT_INPUT_KEYBOARD_APPEARANCE = 7035, 2841 2842 /** 2843 * @brief Defines the default placeholder text for the multi-line text box. 2844 * This attribute can be set, reset, and obtained as required through APIs. 2845 * 2846 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2847 * .string: default placeholder text. \n 2848 * \n 2849 * Format of the return value {@link ArkUI_AttributeItem}:\n 2850 * .string: default placeholder text. \n 2851 * 2852 */ 2853 NODE_TEXT_AREA_PLACEHOLDER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA, 2854 /** 2855 * @brief Defines the default text content for the multi-line text box. 2856 * This attribute can be set, reset, and obtained as required through APIs. 2857 * 2858 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2859 * .string: default text content. \n 2860 * \n 2861 * Format of the return value {@link ArkUI_AttributeItem}:\n 2862 * .string: default text content. \n 2863 * 2864 */ 2865 NODE_TEXT_AREA_TEXT, 2866 /** 2867 * @brief Defines the maximum number of characters in the text input. 2868 * This attribute can be set, reset, and obtained as required through APIs. 2869 * 2870 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2871 * .value[0].i32: maximum number of characters in the text input. \n 2872 * \n 2873 * Format of the return value {@link ArkUI_AttributeItem}:\n 2874 * .value[0].i32: maximum number of characters in the text input. \n 2875 * 2876 */ 2877 NODE_TEXT_AREA_MAX_LENGTH, 2878 /** 2879 * @brief Defines the placeholder text color. 2880 * This attribute can be set, reset, and obtained as required through APIs. 2881 * 2882 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2883 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2884 * \n 2885 * Format of the return value {@link ArkUI_AttributeItem}:\n 2886 * .value[0].u32: color value, in 0xARGB format. \n 2887 * 2888 */ 2889 NODE_TEXT_AREA_PLACEHOLDER_COLOR, 2890 /** 2891 * @brief Defines the placeholder text font. 2892 * This attribute can be set, reset, and obtained as required through APIs. 2893 * 2894 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2895 * .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.\n 2896 * .value[1]?.i32: font style {@link ArkUI_FontStyle}. Optional. The default value is 2897 * <b>ARKUI_FONT_STYLE_NORMAL</b>.\n 2898 * .value[2]?.i32: font weight {@link ArkUI_FontWeight}. Optional. The default value is 2899 * <b>ARKUI_FONT_WEIGHT_NORMAL</b>.\n 2900 * ?.string: font family. Multiple font families are separated by commas (,). 2901 * For example, "font weight; font family 1, font family 2". \n 2902 * \n 2903 * Format of the return value {@link ArkUI_AttributeItem}:\n 2904 * .value[0].f32: font size, in fp.\n 2905 * .value[1].i32: font style {@link ArkUI_FontStyle}.\n 2906 * .value[2].i32: font weight {@link ArkUI_FontWeight}.\n 2907 * .string: font family. Multiple font families are separated by commas (,). \n 2908 * 2909 */ 2910 NODE_TEXT_AREA_PLACEHOLDER_FONT, 2911 /** 2912 * @brief Defines the caret color attribute. 2913 * This attribute can be set, reset, and obtained as required through APIs. 2914 * 2915 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2916 * .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 2917 * \n 2918 * Format of the return value {@link ArkUI_AttributeItem}:\n 2919 * .value[0].u32: background color, in 0xARGB format. \n 2920 * 2921 */ 2922 NODE_TEXT_AREA_CARET_COLOR, 2923 /** 2924 * @brief Defines the editable state for the multi-line text box. 2925 * This attribute can be set as required through APIs. 2926 * 2927 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2928 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the 2929 * editable state, and <b>false</b> means to exit the editable state.\n \n 2930 * \n 2931 * Format of the {@link ArkUI_AttributeItem} parameter for obtaining the attribute: 2932 * .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable 2933 * state, and <b>false</b> means to exit the editable state.\n \n 2934 * 2935 */ 2936 NODE_TEXT_AREA_EDITING, 2937 /** 2938 * @brief Defines the text box type. This attribute can be set, reset, and obtained as required through APIs. 2939 * 2940 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2941 * .value[0].i32: text box type {@link ArkUI_TextAreaType}. 2942 * The default value is <b>ARKUI_TEXTAREA_TYPE_NORMAL</b>. \n 2943 * \n 2944 * Format of the return value {@link ArkUI_AttributeItem}:\n 2945 * .value[0].i32: text box type {@link ArkUI_TextAreaType}. \n 2946 * 2947 */ 2948 NODE_TEXT_AREA_TYPE, 2949 /** 2950 * @brief Defines the counter settings. This attribute can be set, reset, and obtained as required through APIs. 2951 * 2952 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2953 * .value[0].i32: whether to show a character counter. The value <b>true</b> means to show a character counter. \n 2954 * .value[1]?.f32: threshold percentage for displaying the character counter. The character counter is displayed 2955 * when the number of characters that have been entered is greater than the maximum number of characters multiplied 2956 * by the threshold percentage value. The value range is 1 to 100. If the value is a decimal, it is rounded down. \n 2957 * .value[2]?.i32: whether to highlight the border when the number of entered characters reaches the maximum. \n 2958 * \n 2959 * Format of the return value {@link ArkUI_AttributeItem}:\n 2960 * .value[0].i32: whether to show a character counter. \n 2961 * .value[1].f32: threshold percentage for displaying the character counter. The character counter is displayed 2962 * when the number of characters that have been entered is greater than the maximum number of characters multiplied 2963 * by the threshold percentage value. The value range is 1 to 100. \n 2964 * .value[2].i32: whether to highlight the border when the number of entered characters reaches the maximum. 2965 * The default value is <b>true</b>. \n 2966 * 2967 */ 2968 NODE_TEXT_AREA_SHOW_COUNTER, 2969 2970 /** 2971 * @brief 设置长按、双击输入框或者右键输入框时,是否不弹出文本选择菜单,支持属性设置,属性重置和属性获取接口。 2972 * 2973 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2974 * .value[0].i32: 长按、双击输入框或者右键输入框时,是否不弹出文本选择菜单。默认值false。\n 2975 * \n 2976 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2977 * .value[0].i32: 长按、双击输入框或者右键输入框时,是否不弹出文本选择菜单。\n 2978 * 2979 */ 2980 NODE_TEXT_AREA_SELECTION_MENU_HIDDEN, 2981 /** 2982 * @brief Sets whether the multi-line text box loses focus after the Enter key is pressed to submit information. 2983 * 2984 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 2985 * .value[0].i32: whether the text box loses focus. \n 2986 * \n 2987 * Format of the return value {@link ArkUI_AttributeItem}:\n 2988 * .value[0].i32: whether the text box loses focus. \n 2989 * 2990 */ 2991 NODE_TEXT_AREA_BLUR_ON_SUBMIT, 2992 /** 2993 * @brief 通过正则表达式设置输入过滤器。匹配表达式的输入允许显示,不匹配的输入将被过滤。仅支持单个字符匹配,不支持字符串匹配。 2994 * 2995 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 2996 * .string: 正则表达式。\n 2997 * \n 2998 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 2999 * .string: 正则表达式。\n 3000 * 3001 */ 3002 NODE_TEXT_AREA_INPUT_FILTER, 3003 /** 3004 * @brief 设置文本选中底板颜色,支持属性设置,属性重置和属性获取接口。 3005 * 3006 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 3007 * .value[0].u32:颜色数值,0xargb格式,形如 0xFFFF0000 表示红色。\n 3008 * \n 3009 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 3010 * .value[0].u32:颜色数值,0xargb格式。\n 3011 * 3012 */ 3013 NODE_TEXT_AREA_SELECTED_BACKGROUND_COLOR, 3014 /** 3015 * @brief 设置输入法回车键类型,支持属性设置,属性重置和属性获取接口。 3016 * 3017 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 3018 * .value[0].i32:回车键类型枚举{@link ArkUI_EnterKeyType},默认值为ARKUI_ENTER_KEY_TYPE_DONE。\n 3019 * \n 3020 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 3021 * .value[0].i32:回车键类型枚举{@link ArkUI_EnterKeyType}。\n 3022 * 3023 */ 3024 NODE_TEXT_AREA_ENTER_KEY_TYPE, 3025 /** 3026 * @brief 设置TextArea通过点击以外的方式获焦时,是否绑定输入法,支持属性设置,属性重置和属性获取接口。 3027 * 3028 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 3029 * .value[0].i32:false表示聚焦不拉起输入法,true表示拉起,默认值为true。\n 3030 * \n 3031 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 3032 * .value[0].i32:0表示聚焦不拉起输入法,1表示拉起。\n 3033 * 3034 */ 3035 NODE_TEXT_AREA_ENABLE_KEYBOARD_ON_FOCUS, 3036 /** 3037 * @brief 设置或获取光标所在位置信息。 3038 * 3039 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 3040 * 设置输入光标的位置。 3041 * .value[0].i32: 从字符串开始到光标所在位置的字符长度。\n 3042 * 3043 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 3044 * 返回当前光标所在位置信息。在当前帧更新光标位置同时调用该接口,该接口不生效 3045 * value[0].i32:光标所在位置的索引值。\n 3046 * value[1].f32:光标相对输入框的x坐标位值。\n 3047 * value[2].f32:光标相对输入框的y坐标位值。\n 3048 */ 3049 NODE_TEXT_AREA_CARET_OFFSET, 3050 /** 3051 * @brief 获取已编辑文本内容区域相对组件的位置和大小。 3052 * 3053 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 3054 * value[0].f32:水平方向横坐标。\n 3055 * value[1].f32:竖直方向纵坐标。\n 3056 * value[2].f32:内容宽度大小。\n 3057 * value[3].f32:内容高度大小。\n 3058 * 3059 */ 3060 NODE_TEXT_AREA_CONTENT_RECT, 3061 /** 3062 * @brief 获取已编辑文本内容的行数。 3063 * 3064 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 3065 * value[0].i32:已编辑文本内容行数。\n 3066 * 3067 */ 3068 NODE_TEXT_AREA_CONTENT_LINE_COUNT, 3069 /** 3070 * @brief 组件在获焦状态下,调用该接口设置文本选择区域并高亮显示,且只有在selectionStart小于selectionEnd时,文字才会被选取、高亮显示。 3071 * 3072 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 3073 * .value[0].i32:选中文本的起始位置;\n 3074 * .value[1].i32:选中文本的终止位置;\n 3075 * \n 3076 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 3077 * .value[0].i32:选中文本的起始位置;\n 3078 * .value[1].i32:选中文本的终止位置;\n 3079 * 3080 */ 3081 NODE_TEXT_AREA_TEXT_SELECTION, 3082 /** 3083 * @brief 设置是否启用自动填充。 3084 * 3085 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 3086 * .value[0].i32: 是否启用自动填充,默认值true。\n 3087 * \n 3088 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 3089 * .value[0].i32: 是否启用自动填充。\n 3090 * 3091 */ 3092 NODE_TEXT_AREA_ENABLE_AUTO_FILL, 3093 /** 3094 * @brief 自动填充类型。 3095 * 3096 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 3097 * .value[0].i32: 参数类型{@link ArkUI_TextInputContentType}。\n 3098 * \n 3099 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 3100 * .value[0].i32: 参数类型{@link ArkUI_TextInputContentType}。\n 3101 * 3102 */ 3103 NODE_TEXT_AREA_CONTENT_TYPE, 3104 3105 /** 3106 * @brief 设置输入框获取焦点时是否弹出键盘,支持属性设置,属性重置和属性获取接口。 3107 * 3108 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 3109 * .value[0].i32: 是否弹出键盘。\n 3110 * \n 3111 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 3112 * .value[0].i32: 是否弹出键盘。\n 3113 * 3114 */ 3115 NODE_TEXT_AREA_SHOW_KEYBOARD_ON_FOCUS, 3116 3117 /** 3118 * @brief 设置该属性后,通过该属性计算textArea组件的高度。 3119 * 3120 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 3121 * .value[0].i32: 设置numberOfLines的值。\n 3122 * \n 3123 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 3124 * .value[0].i32: 设置numberOfLines的值。\n 3125 * 3126 */ 3127 NODE_TEXT_AREA_NUMBER_OF_LINES, 3128 /** 3129 * @brief 设置该属性后,通过该属性调整textArea组件的字符间距。 3130 * 接口支持设置,重置以及获取该属性。 3131 * 3132 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 3133 * .value[0].f32: 设置letterSpacing的值,默认单位fp。\n 3134 * \n 3135 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 3136 * .value[0].f32: 获取letterSpacing的值,默认单位fp。\n 3137 * 3138 * @since 15 3139 */ 3140 NODE_TEXT_AREA_LETTER_SPACING = 8023, 3141 3142 /** 3143 * @brief 设置textArea组件是否开启输入预上屏。 3144 * 接口支持设置,重置以及获取该属性。 3145 * 3146 * 属性设置方法参数{@link ArkUI_AttributeItem}格式:\n 3147 * .value[0].i32: 设置是否开启输入预上屏。\n 3148 * \n 3149 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式:\n 3150 * .value[0].i32: 获取是否开启输入预上屏。\n 3151 * 3152 * @since 15 3153 */ 3154 NODE_TEXT_AREA_ENABLE_PREVIEW_TEXT = 8024, 3155 3156 /** 3157 * @brief Set the keyboard style of textArea 3158 * 3159 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3160 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n 3161 * \n 3162 * Format of the return value {@link ArkUI_AttributeItem}:\n 3163 * .value[0].i32:keyboard style,the parameter type is {@link ArkUI_KeyboardAppearance}.\n 3164 * 3165 * @since 15 3166 */ 3167 NODE_TEXT_AREA_KEYBOARD_APPEARANCE = 8026, 3168 3169 /** 3170 * @brief Defines the button text content. This attribute can be set, reset, and obtained as required through APIs. 3171 * 3172 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3173 * .string: default text content. \n 3174 * \n 3175 * Format of the return value {@link ArkUI_AttributeItem}:\n 3176 * .string: default text content. \n 3177 * 3178 */ 3179 NODE_BUTTON_LABEL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_BUTTON, 3180 3181 /** 3182 * @brief Sets the button type. This attribute can be set, reset, and obtained as required through APIs. 3183 * 3184 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3185 * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}. 3186 * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n 3187 * \n 3188 * Format of the return value {@link ArkUI_AttributeItem}:\n 3189 * .value[0].i32: button type. The parameter type is {@link ArkUI_ButtonType}. 3190 * The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>. \n 3191 * 3192 */ 3193 NODE_BUTTON_TYPE, 3194 3195 /** 3196 * @brief Defines the current value of the progress indicator. 3197 * This attribute can be set, reset, and obtained as required through APIs. 3198 * 3199 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3200 * .value[0].f32: current value of the progress indicator. \n 3201 * \n 3202 * Format of the return value {@link ArkUI_AttributeItem}:\n 3203 * .value[0].f32: current value of the progress indicator. \n 3204 * 3205 */ 3206 NODE_PROGRESS_VALUE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_PROGRESS, 3207 /** 3208 * @brief Defines the total value of the progress indicator. 3209 * This attribute can be set, reset, and obtained as required through APIs. 3210 * 3211 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3212 * .value[0].f32: total value of the progress indicator. \n 3213 * \n 3214 * Format of the return value {@link ArkUI_AttributeItem}:\n 3215 * .value[0].f32: total value of the progress indicator. \n 3216 * 3217 */ 3218 NODE_PROGRESS_TOTAL, 3219 /** 3220 * @brief Defines the color for the progress value on the progress indicator. 3221 * This attribute can be set, reset, and obtained as required through APIs. 3222 * 3223 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3224 * .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red. \n 3225 * \n 3226 * Format of the return value {@link ArkUI_AttributeItem}:\n 3227 * .value[0].u32: color value, in 0xARGB format. \n 3228 * 3229 */ 3230 NODE_PROGRESS_COLOR, 3231 /** 3232 * @brief Defines the type of the progress indicator. 3233 * This attribute can be set, reset, and obtained as required through APIs. 3234 * 3235 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3236 * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}. 3237 * The default value is <b>ARKUI_PROGRESS_TYPE_LINEAR</b>. \n 3238 * \n 3239 * Format of the return value {@link ArkUI_AttributeItem}:\n 3240 * .value[0].i32: type of the progress indicator {@link ArkUI_ProgressType}. \n 3241 * 3242 */ 3243 NODE_PROGRESS_TYPE, 3244 /** 3245 * @brief Sets the style of the linear progress indicator. 3246 * This attribute can be set, reset, and obtained as required through APIs. 3247 * If the progress indicator type is not linear, it will not take effect. 3248 * 3249 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3250 * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to set the style. \n 3251 * \n 3252 * Format of the return value {@link ArkUI_AttributeItem}:\n 3253 * .object: Use the {@link ArkUI_ProgressLinearStyleOption} object to get the style. \n 3254 * 3255 * @since 15 3256 */ 3257 NODE_PROGRESS_LINEAR_STYLE, 3258 3259 /** 3260 * @brief Defines whether the check box is selected. 3261 * This attribute can be set, reset, and obtained as required through APIs. 3262 * 3263 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3264 * .value[0].i32: whether the check box is selected. 3265 * The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n 3266 * \n 3267 * Format of the return value {@link ArkUI_AttributeItem}:\n 3268 * .value[0].i32: The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite. \n 3269 * 3270 */ 3271 NODE_CHECKBOX_SELECT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX, 3272 3273 /** 3274 * @brief Defines the color of the check box when it is selected. 3275 * This attribute can be set, reset, and obtained as required through APIs. 3276 * 3277 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3278 * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 3279 * \n 3280 * Format of the return value {@link ArkUI_AttributeItem}:\n 3281 * .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3282 * 3283 */ 3284 NODE_CHECKBOX_SELECT_COLOR, 3285 3286 /** 3287 * @brief Defines the border color of the check box when it is not selected. 3288 * This attribute can be set, reset, and obtained as required through APIs. 3289 * 3290 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3291 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 3292 * \n 3293 * Format of the return value {@link ArkUI_AttributeItem}:\n 3294 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3295 * 3296 */ 3297 NODE_CHECKBOX_UNSELECT_COLOR, 3298 3299 /** 3300 * @brief Defines the internal icon style of the check box. 3301 * This attribute can be set, reset, and obtained as required through APIs. 3302 * 3303 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3304 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 3305 * .value[1]?.f32: size of the internal mark, in vp. Optional.\n 3306 * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n 3307 * \n 3308 * Format of the return value {@link ArkUI_AttributeItem}:\n 3309 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 3310 * .value[1].f32: size of the internal mark, in vp. \n 3311 * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n 3312 * 3313 */ 3314 NODE_CHECKBOX_MARK, 3315 3316 /** 3317 * @brief Defines the shape of the check box. 3318 * This attribute can be set, reset, and obtained as required through APIs. 3319 * 3320 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3321 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n 3322 * \n 3323 * Format of the return value {@link ArkUI_AttributeItem}:\n 3324 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. 3325 * 3326 */ 3327 NODE_CHECKBOX_SHAPE, 3328 3329 /** 3330 * @brief Defines the name of the checkbox. 3331 * This attribute can be set, reset, and obtained as required through APIs. 3332 * 3333 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3334 * .string: component name. \n 3335 * \n 3336 * Format of the return value {@link ArkUI_AttributeItem}:\n 3337 * .string: component name. \n 3338 * 3339 *@since 15 3340 */ 3341 NODE_CHECKBOX_NAME = 11005, 3342 3343 /** 3344 * @brief Defines the name of the checkbox. 3345 * This attribute can be set, reset, and obtained as required through APIs. 3346 * 3347 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3348 * .string: component name. \n 3349 * \n 3350 * Format of the return value {@link ArkUI_AttributeItem}:\n 3351 * .string: component name. \n 3352 * 3353 * @since 15 3354 */ 3355 NODE_CHECKBOX_GROUP = 11006, 3356 3357 /** 3358 * @brief Defines the ID of the <b><XComponent></b> component. 3359 * This attribute can be set and obtained as required through APIs. 3360 * 3361 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3362 * .string: component ID. \n 3363 * \n 3364 * Format of the return value {@link ArkUI_AttributeItem}:\n 3365 * .string: component ID. \n 3366 * 3367 */ 3368 NODE_XCOMPONENT_ID = MAX_NODE_SCOPE_NUM * ARKUI_NODE_XCOMPONENT, 3369 /** 3370 * @brief Defines the type of the <b><XComponent></b> component. 3371 * This attribute can be set, reset, and obtained as required through APIs. 3372 * 3373 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3374 * .value[0].i32: type {@link ArkUI_XComponentType}. The default value is <b>ARKUI_XCOMPONENT_TYPE_SURFACE</b>. \n 3375 * \n 3376 * Format of the return value {@link ArkUI_AttributeItem}:\n 3377 * .value[0].i32: type {@link ArkUI_XComponentType}. \n 3378 * 3379 */ 3380 NODE_XCOMPONENT_TYPE, 3381 /** 3382 * @brief Defines the width and height of the <b><XComponent></b> component. 3383 * This attribute can be set and obtained as required through APIs. 3384 * 3385 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3386 * .value[0].u32: width, in px. \n 3387 * .value[1].u32: height, in px. \n 3388 * \n 3389 * Format of the return value {@link ArkUI_AttributeItem}:\n 3390 * .value[0].u32: width, in px. \n 3391 * .value[1].u32: height, in px. \n 3392 * 3393 */ 3394 NODE_XCOMPONENT_SURFACE_SIZE, 3395 3396 /** 3397 * @brief Defines whether to display the lunar calendar in the date picker. 3398 * This attribute can be set, reset, and obtained as required through APIs. 3399 * 3400 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3401 * .value[0].i32: whether to display the lunar calendar in the date picker. The default value is <b>false</b>. \n 3402 * \n 3403 * Format of the return value {@link ArkUI_AttributeItem}:\n 3404 * .value[0].i32: whether to display the lunar calendar in the date picker. 3405 * 3406 */ 3407 NODE_DATE_PICKER_LUNAR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER, 3408 /** 3409 * @brief Defines the start date of the date picker. 3410 * This attribute can be set, reset, and obtained as required through APIs. 3411 * 3412 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3413 * .string: date. The default value is <b>"1970-1-1"</b>. \n 3414 * \n 3415 * Format of the return value {@link ArkUI_AttributeItem}:\n 3416 * .string: date. \n 3417 * 3418 */ 3419 NODE_DATE_PICKER_START, 3420 /** 3421 * @brief Defines the end date of the date picker. 3422 * This attribute can be set, reset, and obtained as required through APIs. 3423 * 3424 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3425 * .string: date. The default value is <b>"2100-12-31"</b>. \n 3426 * \n 3427 * Format of the return value {@link ArkUI_AttributeItem}:\n 3428 * .string: date. \n 3429 * 3430 */ 3431 NODE_DATE_PICKER_END, 3432 /** 3433 * @brief Defines the selected date of the date picker. 3434 * This attribute can be set, reset, and obtained as required through APIs. 3435 * 3436 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3437 * .string: date. The default value is <b>"2024-01-22"</b>. \n 3438 * \n 3439 * Format of the return value {@link ArkUI_AttributeItem}:\n 3440 * .string: date. 3441 * 3442 */ 3443 NODE_DATE_PICKER_SELECTED, 3444 /** 3445 * @brief Defines the font color, font size, and font weight for the top and bottom items in the date picker. 3446 * This attribute can be set, reset, and obtained as required through APIs. 3447 * 3448 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3449 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3450 * Parameter 1: font color, in #ARGB format.\n 3451 * Parameter 2: font size, in fp. The value is a number.\n 3452 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3453 * Parameter 4: fonts, separated by commas (,).\n 3454 * Parameter 5: font style. Available options are ("normal", "italic").\n 3455 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3456 * \n 3457 * Format of the return value {@link ArkUI_AttributeItem}:\n 3458 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3459 * Parameter 1: font color, in #ARGB format.\n 3460 * Parameter 2: font size, in fp. The value is a number.\n 3461 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3462 * Parameter 4: fonts, separated by commas (,).\n 3463 * Parameter 5: font style. Available options are ("normal", "italic").\n 3464 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3465 * 3466 */ 3467 NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE, 3468 /** 3469 * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected 3470 * items in the date picker. This attribute can be set, reset, and obtained as required through APIs. 3471 * 3472 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3473 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3474 * Parameter 1: font color, in #ARGB format.\n 3475 * Parameter 2: font size, in fp. The value is a number.\n 3476 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3477 * Parameter 4: fonts, separated by commas (,).\n 3478 * Parameter 5: font style. Available options are ("normal", "italic").\n 3479 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3480 * \n 3481 * Format of the return value {@link ArkUI_AttributeItem}:\n 3482 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3483 * Parameter 1: font color, in #ARGB format.\n 3484 * Parameter 2: font size, in fp. The value is a number.\n 3485 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3486 * Parameter 4: fonts, separated by commas (,).\n 3487 * Parameter 5: font style. Available options are ("normal", "italic").\n 3488 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3489 * 3490 */ 3491 NODE_DATE_PICKER_TEXT_STYLE, 3492 /** 3493 * @brief Defines the font color, font size, and font weight of the selected item in the date picker. 3494 * This attribute can be set, reset, and obtained as required through APIs. 3495 * 3496 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3497 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3498 * Parameter 1: font color, in #ARGB format.\n 3499 * Parameter 2: font size, in fp. The value is a number.\n 3500 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3501 * Parameter 4: fonts, separated by commas (,).\n 3502 * Parameter 5: font style. Available options are ("normal", "italic").\n 3503 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3504 * \n 3505 * Format of the return value {@link ArkUI_AttributeItem}:\n 3506 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3507 * Parameter 1: font color, in #ARGB format.\n 3508 * Parameter 2: font size, in fp. The value is a number.\n 3509 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3510 * Parameter 4: fonts, separated by commas (,).\n 3511 * Parameter 5: font style. Available options are ("normal", "italic").\n 3512 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3513 * 3514 */ 3515 NODE_DATE_PICKER_SELECTED_TEXT_STYLE, 3516 /** 3517 * @brief Defines the time of the selected item. in the timer picker. 3518 * This attribute can be set, reset, and obtained as required through APIs. 3519 * 3520 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3521 * .string: time. The default value is the current system time. \n 3522 * \n 3523 * Format of the return value {@link ArkUI_AttributeItem}:\n 3524 * .string: time. 3525 * 3526 */ 3527 3528 NODE_TIME_PICKER_SELECTED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER, 3529 /** 3530 * @brief Defines whether the display time is in 24-hour format. 3531 * This attribute can be set, reset, and obtained as required through APIs. 3532 * 3533 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3534 * .value[0].i32: whether the display time is in 24-hour format. The default value is <b>false</b>. \n 3535 * \n 3536 * Format of the return value {@link ArkUI_AttributeItem}:\n 3537 * .value[0].i32: whether the display time is in 24-hour format. 3538 * 3539 */ 3540 NODE_TIME_PICKER_USE_MILITARY_TIME, 3541 /** 3542 * @brief Defines the font color, font size, and font weight for the top and bottom items in the time picker. 3543 * This attribute can be set, reset, and obtained as required through APIs. 3544 * 3545 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3546 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3547 * Parameter 1: font color, in #ARGB format.\n 3548 * Parameter 2: font size, in fp. The value is a number.\n 3549 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3550 * Parameter 4: fonts, separated by commas (,).\n 3551 * Parameter 5: font style. Available options are ("normal", "italic").\n 3552 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3553 * \n 3554 * Format of the return value {@link ArkUI_AttributeItem}:\n 3555 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3556 * Parameter 1: font color, in #ARGB format.\n 3557 * Parameter 2: font size, in fp. The value is a number.\n 3558 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3559 * Parameter 4: fonts, separated by commas (,).\n 3560 * Parameter 5: font style. Available options are ("normal", "italic").\n 3561 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3562 * 3563 */ 3564 NODE_TIME_PICKER_DISAPPEAR_TEXT_STYLE, 3565 /** 3566 * @brief Defines the font color, font size, and font weight of all items except the top, bottom, and selected items 3567 * in the time picker. This attribute can be set, reset, and obtained as required through APIs. 3568 * 3569 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3570 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3571 * Parameter 1: font color, in #ARGB format.\n 3572 * Parameter 2: font size, in fp. The value is a number.\n 3573 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3574 * Parameter 4: fonts, separated by commas (,).\n 3575 * Parameter 5: font style. Available options are ("normal", "italic").\n 3576 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3577 * \n 3578 * Format of the return value {@link ArkUI_AttributeItem}:\n 3579 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3580 * Parameter 1: font color, in #ARGB format.\n 3581 * Parameter 2: font size, in fp. The value is a number.\n 3582 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3583 * Parameter 4: fonts, separated by commas (,).\n 3584 * Parameter 5: font style. Available options are ("normal", "italic").\n 3585 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3586 * 3587 */ 3588 NODE_TIME_PICKER_TEXT_STYLE, 3589 /** 3590 * @brief Defines the font color, font size, and font weight of the selected item in the time picker. 3591 * This attribute can be set, reset, and obtained as required through APIs. 3592 * 3593 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3594 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3595 * Parameter 1: font color, in #ARGB format.\n 3596 * Parameter 2: font size, in fp. The value is a number.\n 3597 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3598 * Parameter 4: fonts, separated by commas (,).\n 3599 * Parameter 5: font style. Available options are ("normal", "italic").\n 3600 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3601 * \n 3602 * Format of the return value {@link ArkUI_AttributeItem}:\n 3603 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3604 * Parameter 1: font color, in #ARGB format.\n 3605 * Parameter 2: font size, in fp. The value is a number.\n 3606 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3607 * Parameter 4: fonts, separated by commas (,).\n 3608 * Parameter 5: font style. Available options are ("normal", "italic").\n 3609 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3610 * 3611 */ 3612 NODE_TIME_PICKER_SELECTED_TEXT_STYLE, 3613 3614 /** 3615 * @brief Defines the data selection range of the text picker. 3616 * This attribute can be set, reset, and obtained as required through APIs. 3617 * 3618 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3619 * .value[0].i32: type of the text picker {@link ArkUI_TextPickerRangeType}. 3620 * The default value is <b>ARKUI_TEXTPICKER_RANGETYPE_SINGLE</b>. \n 3621 * ?.string: string input, whose format varies by picker type.\n 3622 * 1: single-column picker. The input format is a group of strings separated by semicolons (;).\n 3623 * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by 3624 * semicolons (;), and strings within each pair are separated by commas (,). \n 3625 * ?.object: Object input, whose format varies by picker type.\n 3626 * 1: single-column picker with image support. The input structure is {@link ARKUI_TextPickerRangeContent}.\n 3627 * 2: multi-column interconnected picker. The input structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n 3628 * \n 3629 * Format of the return value {@link ArkUI_AttributeItem}:\n 3630 * .value[0].i32: type of the text picker {@link ArkUI_TextPickerRangeType}.\n 3631 * ?.string: string output, whose format varies by picker type.\n 3632 * 1: single-column picker. The output format is a group of strings separated by semicolons (;).\n 3633 * 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by 3634 * semicolons (;), and strings within each pair are separated by commas (,). \n 3635 * ?.string: Object output, whose format varies by picker type.\n 3636 * 1: single-column picker with image support. The output structure is {@link ARKUI_TextPickerRangeContent}.\n 3637 * 2: multi-column interconnected picker. The output structure is {@link ARKUI_TextPickerCascadeRangeContent}.\n 3638 * 3639 */ 3640 NODE_TEXT_PICKER_OPTION_RANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER, 3641 /** 3642 * @brief Defines the index of the default selected item in the data selection range of the text picker. 3643 * This attribute can be set, reset, and obtained as required through APIs. 3644 * 3645 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3646 * .value[0].u32: index. If there are multiple index values, add them one by one. \n 3647 * \n 3648 * Format of the return value {@link ArkUI_AttributeItem}:\n 3649 * .value[0].u32: index. If there are multiple index values, add them one by one.\n 3650 * 3651 */ 3652 NODE_TEXT_PICKER_OPTION_SELECTED, 3653 /** 3654 * @brief Defines the value of the default selected item in the text picker. 3655 * This attribute can be set, reset, and obtained as required through APIs. 3656 * 3657 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3658 * .string: value of the selected item. If there are multiple values, add them one by one and 3659 * separate them with semicolons (;). \n 3660 * \n 3661 * Format of the return value {@link ArkUI_AttributeItem}:\n 3662 * .string: value of the selected item. If there are multiple values, add them one by one and 3663 * separate them with semicolons (;).\n 3664 * 3665 */ 3666 NODE_TEXT_PICKER_OPTION_VALUE, 3667 /** 3668 * @brief Defines the font color, font size, and font weight for the top and bottom items in the text picker. 3669 * This attribute can be set, reset, and obtained as required through APIs. 3670 * 3671 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3672 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3673 * Parameter 1: font color, in #ARGB format.\n 3674 * Parameter 2: font size, in fp. The value is a number.\n 3675 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3676 * Parameter 4: fonts, separated by commas (,).\n 3677 * Parameter 5: font style. Available options are ("normal", "italic").\n 3678 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3679 * \n 3680 * Format of the return value {@link ArkUI_AttributeItem}:\n 3681 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3682 * Parameter 1: font color, in #ARGB format.\n 3683 * Parameter 2: font size, in fp. The value is a number.\n 3684 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3685 * Parameter 4: fonts, separated by commas (,).\n 3686 * Parameter 5: font style. Available options are ("normal", "italic").\n 3687 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3688 * 3689 */ 3690 NODE_TEXT_PICKER_DISAPPEAR_TEXT_STYLE, 3691 /** 3692 * @brief Defines the font color, font size, and font weight for all items except the top, bottom, and selected 3693 * items in the text picker. This attribute can be set, reset, and obtained as required through APIs. 3694 * 3695 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3696 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3697 * Parameter 1: font color, in #ARGB format.\n 3698 * Parameter 2: font size, in fp. The value is a number.\n 3699 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3700 * Parameter 4: fonts, separated by commas (,).\n 3701 * Parameter 5: font style. Available options are ("normal", "italic").\n 3702 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3703 * \n 3704 * Format of the return value {@link ArkUI_AttributeItem}:\n 3705 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3706 * Parameter 1: font color, in #ARGB format.\n 3707 * Parameter 2: font size, in fp. The value is a number.\n 3708 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3709 * Parameter 4: fonts, separated by commas (,).\n 3710 * Parameter 5: font style. Available options are ("normal", "italic").\n 3711 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3712 * 3713 */ 3714 NODE_TEXT_PICKER_TEXT_STYLE, 3715 /** 3716 * @brief Defines the font color, font size, and font weight for the selected item in the text picker. 3717 * This attribute can be set, reset, and obtained as required through APIs. 3718 * 3719 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3720 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3721 * Parameter 1: font color, in #ARGB format.\n 3722 * Parameter 2: font size, in fp. The value is a number.\n 3723 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3724 * Parameter 4: fonts, separated by commas (,).\n 3725 * Parameter 5: font style. Available options are ("normal", "italic").\n 3726 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3727 * \n 3728 * Format of the return value {@link ArkUI_AttributeItem}:\n 3729 * .string: array of five parameters of the string type, separated by semicolons (;).\n 3730 * Parameter 1: font color, in #ARGB format.\n 3731 * Parameter 2: font size, in fp. The value is a number.\n 3732 * Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").\n. 3733 * Parameter 4: fonts, separated by commas (,).\n 3734 * Parameter 5: font style. Available options are ("normal", "italic").\n 3735 * Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal". \n 3736 * 3737 */ 3738 NODE_TEXT_PICKER_SELECTED_TEXT_STYLE, 3739 /** 3740 * @brief Defines the index of the default selected item in the data selection range of the text picker. 3741 * This attribute can be set, reset, and obtained as required through APIs. 3742 * 3743 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3744 * .value[0...].i32: index of the default item in the data selection range. 3745 * 3746 */ 3747 NODE_TEXT_PICKER_SELECTED_INDEX, 3748 /** 3749 * @brief Defines whether to support scroll looping for the text picker. 3750 * This attribute can be set, reset, and obtained as required through APIs. 3751 * 3752 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3753 * .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and 3754 * <b>false</b> means the opposite.\n \n 3755 * \n 3756 * Format of the return value {@link ArkUI_AttributeItem}:\n 3757 * value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite. \n 3758 * 3759 */ 3760 NODE_TEXT_PICKER_CAN_LOOP, 3761 /** 3762 * @brief Defines the height of each item in the picker. This attribute can be set, reset, and obtained as required 3763 * through APIs. 3764 * 3765 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3766 * .value[0].f32: item height, in vp. \n 3767 * \n 3768 * Format of the return value {@link ArkUI_AttributeItem}:\n 3769 * value[0].f32: item height, in vp. \n 3770 * 3771 */ 3772 NODE_TEXT_PICKER_DEFAULT_PICKER_ITEM_HEIGHT, 3773 /** 3774 * @brief Defines the style of the background in the selected state of the calendar picker. 3775 * This attribute can be set, reset, and obtained as required through APIs. 3776 * 3777 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3778 * .value[0].f32: style of the background in the selected state of the calendar picker. 3779 * The value range is [0, +∞). If the value is <b>0</b>, the background is a rectangle with square corners. 3780 If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to 3781 * or greater than 16, the background is a circle. \n 3782 * \n 3783 * Format of the return value {@link ArkUI_AttributeItem}:\n 3784 * .value[0].f32: style of the background in the selected state of the calendar picker. The value range is [0, +∞). 3785 * If the value is <b>0</b>, the background is a rectangle with square corners. 3786 If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to or 3787 * greater than 16, the background is a circle. \n 3788 * 3789 */ 3790 NODE_CALENDAR_PICKER_HINT_RADIUS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER, 3791 /** 3792 * @brief Defines the date of the selected item in the calendar picker. 3793 * This attribute can be set, reset, and obtained as required through APIs. 3794 * 3795 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3796 * .value[0].u32: year of the selected date. \n 3797 * .value[1].u32: month of the selected date. \n 3798 * .value[2].u32: day of the selected date. \n 3799 * \n 3800 * Format of the return value {@link ArkUI_AttributeItem}:\n 3801 * .value[0].u32: year of the selected date. \n 3802 * .value[1].u32: month of the selected date. \n 3803 * .value[2].u32: day of the selected date. \n 3804 * 3805 */ 3806 NODE_CALENDAR_PICKER_SELECTED_DATE, 3807 /** 3808 * @brief Defines how the calendar picker is aligned with the entry component. 3809 * This attribute can be set, reset, and obtained as required through APIs. 3810 * 3811 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3812 * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n 3813 * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on 3814 * the specified alignment mode. \n 3815 * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on 3816 * the specified alignment mode. \n 3817 * \n 3818 * Format of the return value {@link ArkUI_AttributeItem}:\n 3819 * .value[0].i32: alignment mode. The parameter type is {@link ArkUI_CalendarAlignment}. \n 3820 * .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on 3821 * the specified alignment mode. \n 3822 * .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on 3823 * the specified alignment mode. \n 3824 * 3825 */ 3826 NODE_CALENDAR_PICKER_EDGE_ALIGNMENT, 3827 /** 3828 * @brief Defines the font color, font size, and font weight in the entry area of the calendar picker. 3829 * 3830 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3831 * .value[0]?.u32: font color of the entry area. \n 3832 * .value[1]?.f32: font size of the entry area, in fp. \n 3833 * .value[2]?.i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n 3834 * \n 3835 * Format of the return value {@link ArkUI_AttributeItem}:\n 3836 * .value[0].u32: font color of the entry area. \n 3837 * .value[1].f32: font size of the entry area, in fp. \n 3838 * .value[2].i32: font weight of the entry area. The parameter type is {@link ArkUI_FontWeight}. \n 3839 * 3840 */ 3841 NODE_CALENDAR_PICKER_TEXT_STYLE, 3842 /** 3843 * @brief Defines the color of the slider. This attribute can be set, reset, and obtained as required through APIs. 3844 * 3845 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3846 * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3847 * \n 3848 * Format of the return value {@link ArkUI_AttributeItem}:\n 3849 * .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3850 * 3851 */ 3852 NODE_SLIDER_BLOCK_COLOR = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER, 3853 3854 /** 3855 * @brief Defines the background color of the slider. This attribute can be set, reset, and obtained as required 3856 * through APIs. 3857 * 3858 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3859 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 3860 * \n 3861 * Format of the return value {@link ArkUI_AttributeItem}:\n 3862 * .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3863 * 3864 */ 3865 NODE_SLIDER_TRACK_COLOR, 3866 3867 /** 3868 * @brief Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained 3869 * as required through APIs. 3870 * 3871 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3872 * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 3873 * \n 3874 * Format of the return value {@link ArkUI_AttributeItem}:\n 3875 * .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>. 3876 * 3877 */ 3878 NODE_SLIDER_SELECTED_COLOR, 3879 3880 /** 3881 * @brief Sets whether to display the stepping value. This attribute can be set, reset, and obtained as required 3882 * through APIs. 3883 * 3884 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3885 * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value, 3886 * and <b>0</b> (default value) means the opposite. \n 3887 * \n 3888 * Format of the return value {@link ArkUI_AttributeItem}:\n 3889 * .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value, 3890 * and <b>0</b> (default value) means the opposite. \n 3891 * 3892 */ 3893 NODE_SLIDER_SHOW_STEPS, 3894 3895 /** 3896 * @brief Defines the slider shape, which can be set, reset, and obtained as required through APIs. 3897 * 3898 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3899 * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n 3900 * .string?: depending on the shape. Optional. \n 3901 * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n 3902 * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n 3903 * There are five types:\n 3904 * 1. Rectangle:\n 3905 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 3906 * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n 3907 * .value[2].f32: width of the rectangle.\n 3908 * .value[3].f32: height of the rectangle.\n 3909 * .value[4].f32: width of the rounded corner of the rectangle.\n 3910 * .value[5].f32: height of the rounded corner of the rectangle.\n 3911 * 2. Circle:\n 3912 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 3913 * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n 3914 * .value[2].f32: width of the circle.\n 3915 * .value[3].f32: height of the circle.\n 3916 * 3.Ellipse:\n 3917 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 3918 * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n 3919 * .value[2].f32: width of the ellipse.\n 3920 * .value[3].f32: height of the ellipse;\n 3921 * 4. Path:\n 3922 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 3923 * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n 3924 * .value[2].f32: width of the path.\n 3925 * .value[3].f32: height of the path.\n 3926 * .string: command for drawing the path.\n 3927 * \n 3928 * Format of the return value {@link ArkUI_AttributeItem}:\n 3929 * .value[0].i32: shape. The parameter type is {@link ArkUI_SliderBlockStyle}. \n 3930 * .string?: depending on the shape. Optional. \n 3931 * ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png. \n 3932 * ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider. \n 3933 * There are five types:\n 3934 * 1. Rectangle:\n 3935 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 3936 * The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.\n 3937 * .value[2].f32: width of the rectangle.\n 3938 * .value[3].f32: height of the rectangle.\n 3939 * .value[4].f32: width of the rounded corner of the rectangle.\n 3940 * .value[5].f32: height of the rounded corner of the rectangle.\n 3941 * 2. Circle:\n 3942 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 3943 * The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.\n 3944 * .value[2].f32: width of the circle.\n 3945 * .value[3].f32: height of the circle.\n 3946 * 3.Ellipse:\n 3947 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 3948 * The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.\n 3949 * .value[2].f32: width of the ellipse.\n 3950 * .value[3].f32: height of the ellipse;\n 3951 * 4. Path:\n 3952 * .value[1].i32: type of shape. The parameter type is {@link ArkUI_ShapeType}. 3953 * The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.\n 3954 * .value[2].f32: width of the path.\n 3955 * .value[3].f32: height of the path.\n 3956 * .string: command for drawing the path.\n 3957 * 3958 */ 3959 NODE_SLIDER_BLOCK_STYLE, 3960 3961 /** 3962 * @brief Defines the current value of the slider. This attribute can be set, reset, and obtained as required 3963 * through APIs. 3964 * 3965 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3966 * .value[0].f32: current value. \n 3967 * \n 3968 * Format of the return value {@link ArkUI_AttributeItem}:\n 3969 * .value[0].f32: current value. 3970 * 3971 */ 3972 NODE_SLIDER_VALUE, 3973 3974 /** 3975 * @brief Defines the minimum value of the slider. This attribute can be set, reset, and obtained as required 3976 * through APIs. 3977 * 3978 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3979 * .value[0].f32: minimum value. \n 3980 * \n 3981 * Format of the return value {@link ArkUI_AttributeItem}:\n 3982 * .value[0].f32: minimum value. 3983 * 3984 */ 3985 NODE_SLIDER_MIN_VALUE, 3986 3987 /** 3988 * @brief Defines the maximum value of the slider. This attribute can be set, reset, and obtained as required 3989 * through APIs. 3990 * 3991 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 3992 * .value[0].f32: maximum value. \n 3993 * \n 3994 * Format of the return value {@link ArkUI_AttributeItem}:\n 3995 * .value[0].f32: maximum value. 3996 * 3997 */ 3998 NODE_SLIDER_MAX_VALUE, 3999 4000 /** 4001 * @brief Defines the step of the slider. This attribute can be set, reset, and obtained as required through APIs. 4002 * 4003 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4004 * .value[0].f32: step. The value range is [0.01, 100]. \n 4005 * \n 4006 * Format of the return value {@link ArkUI_AttributeItem}:\n 4007 * .value[0].f32: step. The value range is [0.01, 100]. 4008 * 4009 */ 4010 NODE_SLIDER_STEP, 4011 4012 /** 4013 * @brief Defines whether the slider moves horizontally or vertically. This attribute can be set, reset, and 4014 * obtained as required through APIs. 4015 * 4016 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4017 * .value[0].i32: whether the slider moves horizontally or vertically. 4018 * The parameter type is {@link ArkUI_SliderDirection}. \n 4019 * \n 4020 * Format of the return value {@link ArkUI_AttributeItem}:\n 4021 * .value[0].i32: whether the slider moves horizontally or vertically. 4022 * 4023 */ 4024 NODE_SLIDER_DIRECTION, 4025 4026 /** 4027 * @brief Defines whether the slider values are reversed. This attribute can be set, reset, and obtained as required 4028 * through APIs. 4029 * 4030 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4031 * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are 4032 * reversed, and <b>0</b> means the opposite. \n 4033 * \n 4034 * Format of the return value {@link ArkUI_AttributeItem}:\n 4035 * .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are 4036 * reversed, and <b>0</b> means the opposite. 4037 * 4038 */ 4039 NODE_SLIDER_REVERSE, 4040 4041 /** 4042 * @brief Defines the style of the slider thumb and track. This attribute can be set, reset, and obtained 4043 * as required through APIs. 4044 * 4045 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4046 * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}. \n 4047 * \n 4048 * Format of the return value {@link ArkUI_AttributeItem}:\n 4049 * .value[0].i32: style of the slider thumb and track. The parameter type is {@link ArkUI_SliderStyle}. 4050 * 4051 */ 4052 NODE_SLIDER_STYLE, 4053 4054 /** 4055 * @brief Sets the track thickness of the slider. 4056 * This attribute can be set, reset, and obtained as required through APIs. 4057 * 4058 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4059 * .value[0].f32: track thickness of the slider, in vp. The default value is 4.0 vp when <b>NODE_SLIDER_STYLE</b> 4060 * is set to <b>ARKUI_SLIDER_STYLE_OUT_SET</b> and 20.0 vp when <b>NODE_SLIDER_STYLE</b> is set to 4061 * <b>ARKUI_SLIDER_STYLE_IN_SET</b>. \n 4062 * \n 4063 * Format of the return value {@link ArkUI_AttributeItem}:\n 4064 * .value[0].f32: track thickness of the slider, in vp. \n 4065 * 4066 */ 4067 NODE_SLIDER_TRACK_THICKNESS, 4068 4069 /** 4070 * @brief Sets whether the radio button is selected. 4071 * This attribute can be set, reset, and obtained as required through APIs. 4072 * 4073 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4074 * .value[0].i32: whether the radio button is selected. The default value is <b>false</b>. 4075 * Format of the return value {@link ArkUI_AttributeItem}:\n 4076 * .value[0].i32: whether the radio button is selected. 4077 * 4078 */ 4079 NODE_RADIO_CHECKED = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO, 4080 /** 4081 * @brief Sets the style of the radio button in selected or deselected state. 4082 * This attribute can be set, reset, and obtained as required through APIs. 4083 * 4084 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4085 * .value[0]?.u32: color of the background when the radio button is selected, in 0xARGB format. 4086 * The default value is <b>0xFF007DFF</b>. \n 4087 * .value[1]?.u32: color of the border when the radio button is deselected, in 0xARGB format. 4088 * The default value is <b>0xFF182431</b>. \n 4089 * .value[2]?.u32: color of the indicator when the radio button is selected, in 0xARGB format. 4090 * The default value is <b>0xFFFFFFFF</b>. \n 4091 * Format of the return value {@link ArkUI_AttributeItem}:\n 4092 * .value[0].u32: color of the background when the radio button is selected, in 0xARGB format. 4093 * The default value is <b>0xFF007DFF</b>. \n 4094 * .value[1].u32: color of the border when the radio button is deselected, in 0xARGB format. 4095 * The default value is <b>0xFF182431</b>. \n 4096 * .value[2].u32: color of the indicator when the radio button is selected, in 0xARGB format. 4097 * The default value is <b>0xFFFFFFFF</b>. \n 4098 * 4099 */ 4100 NODE_RADIO_STYLE, 4101 /** 4102 * @brief Sets the current value of the radio button. 4103 * This attribute can be set, reset, and obtained as required through APIs. 4104 * 4105 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4106 * .string: value of the radio button. \n 4107 * \n 4108 * Format of the return value {@link ArkUI_AttributeItem}:\n 4109 * .string: value of the radio button. \n 4110 * 4111 */ 4112 NODE_RADIO_VALUE, 4113 /** 4114 * @brief Sets the name of the group to which the radio button belongs. Only one radio button in a given group can 4115 * be selected at a time. This attribute can be set, reset, and obtained as required through APIs. 4116 * 4117 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4118 * .string: name of the group to which the radio button belongs. \n 4119 * \n 4120 * Format of the return value {@link ArkUI_AttributeItem}:\n 4121 * .string: name of the group to which the radio button belongs. \n 4122 * 4123 */ 4124 NODE_RADIO_GROUP, 4125 4126 /** 4127 * @brief Defines the name of the checkboxgroup. 4128 * This attribute can be set, reset, and obtained as required through APIs. 4129 * 4130 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4131 * .string: component name. \n 4132 * \n 4133 * Format of the return value {@link ArkUI_AttributeItem}:\n 4134 * .string: component name. \n 4135 * 4136 * @since 15 4137 */ 4138 NODE_CHECKBOX_GROUP_NAME = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP, 4139 4140 /** 4141 * @brief Defines whether the checkboxgroup is selected. 4142 * This attribute can be set, reset, and obtained as required through APIs. 4143 * 4144 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4145 * .value[0].i32: whether the check box is selected. 4146 * The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n 4147 * \n 4148 * Format of the return value {@link ArkUI_AttributeItem}:\n 4149 * .value[0].i32: The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite. \n 4150 * 4151 * @since 15 4152 */ 4153 NODE_CHECKBOX_GROUP_SELECT_ALL = 21001, 4154 4155 /** 4156 * @brief Defines the color of the checkboxgroup when it is selected. 4157 * This attribute can be set, reset, and obtained as required through APIs. 4158 * 4159 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4160 * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, 4161 * for example, <b>0xFF1122FF</b>. \n 4162 * \n 4163 * Format of the return value {@link ArkUI_AttributeItem}:\n 4164 * .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, 4165 * for example, <b>0xFF1122FF</b>. 4166 * 4167 * @since 15 4168 */ 4169 NODE_CHECKBOX_GROUP_SELECTED_COLOR = 21002, 4170 /** 4171 * @brief Defines the border color of the checkboxgroup when it is not selected. 4172 * This attribute can be set, reset, and obtained as required through APIs. 4173 * 4174 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4175 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. \n 4176 * \n 4177 * Format of the return value {@link ArkUI_AttributeItem}:\n 4178 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>. 4179 * 4180 * @since 15 4181 */ 4182 NODE_CHECKBOX_GROUP_UNSELECTED_COLOR = 21003, 4183 4184 /** 4185 * @brief Defines the internal icon style of the checkboxgroup. 4186 * This attribute can be set, reset, and obtained as required through APIs. 4187 * 4188 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4189 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 4190 * .value[1]?.f32: size of the internal mark, in vp. Optional.\n 4191 * .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>. \n 4192 * \n 4193 * Format of the return value {@link ArkUI_AttributeItem}:\n 4194 * .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.\n 4195 * .value[1].f32: size of the internal mark, in vp. \n 4196 * .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>. \n 4197 * 4198 * @since 15 4199 */ 4200 NODE_CHECKBOX_GROUP_MARK = 21004, 4201 4202 /** 4203 * @brief Defines the shape of the checkboxgroup. 4204 * This attribute can be set, reset, and obtained as required through APIs. 4205 * 4206 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4207 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. \n 4208 * \n 4209 * Format of the return value {@link ArkUI_AttributeItem}:\n 4210 * .value[0].i32: component shape. The parameter type is {@link ArkUI_CheckboxShape}. 4211 * 4212 * @since 15 4213 */ 4214 NODE_CHECKBOX_GROUP_SHAPE = 21005, 4215 4216 /** 4217 * @brief Defines the alignment mode of the child components in the container. This attribute can be set, reset, 4218 * and obtained as required through APIs. 4219 * 4220 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4221 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. 4222 * The default value is <b>ARKUI_ALIGNMENT_CENTER</b>. \n 4223 * \n 4224 * Format of the return value {@link ArkUI_AttributeItem}:\n 4225 * .value[0].i32: alignment mode. The data type is {@link ArkUI_Alignment}. \n 4226 * 4227 */ 4228 NODE_STACK_ALIGN_CONTENT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_STACK, 4229 4230 /** 4231 * @brief Defines the scrollbar status. This attribute can be set, reset, and obtained as required through APIs. 4232 * 4233 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4234 * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. The default value is 4235 * <b>ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO</b>. \n 4236 * \n 4237 * Format of the return value {@link ArkUI_AttributeItem}:\n 4238 * .value[0].i32: scrollbar status. The parameter type is {@link ArkUI_ScrollBarDisplayMode}. \n 4239 * 4240 */ 4241 NODE_SCROLL_BAR_DISPLAY_MODE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL, 4242 /** 4243 * @brief Defines the width of the scrollbar. This attribute can be set, reset, and obtained as required 4244 * through APIs. 4245 * 4246 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4247 * .value[0].f32: width of the scrollbar, in vp. The default value is <b>4</b>. \n 4248 * \n 4249 * Format of the return value {@link ArkUI_AttributeItem}:\n 4250 * .value[0].f32: width of the scrollbar, in vp. \n 4251 * 4252 */ 4253 NODE_SCROLL_BAR_WIDTH, 4254 /** 4255 * @brief Defines the color of the scrollbar. This attribute can be set, reset, and obtained as required 4256 * through APIs. 4257 * 4258 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4259 * .data[0].u32: color of the scrollbar, in 0xARGB format. \n 4260 * \n 4261 * Format of the return value {@link ArkUI_AttributeItem}:\n 4262 * .data[0].u32: color of the scrollbar, in 0xARGB format. \n 4263 * 4264 */ 4265 NODE_SCROLL_BAR_COLOR, 4266 /** 4267 * @brief Defines the scroll direction. This attribute can be set, reset, and obtained as required through APIs. 4268 * 4269 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4270 * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}. 4271 * The default value is <b>ARKUI_SCROLL_DIRECTION_VERTICAL</b>. \n 4272 * \n 4273 * Format of the return value {@link ArkUI_AttributeItem}:\n 4274 * .value[0].i32: scroll direction. The parameter type is {@link ArkUI_ScrollDirection}. \n 4275 * 4276 */ 4277 NODE_SCROLL_SCROLL_DIRECTION, 4278 /** 4279 * @brief Defines the effect used at the edges of the component when the boundary of the scrollable content is 4280 * reached. This attribute can be set, reset, and obtained as required through APIs. 4281 * 4282 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4283 * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached. 4284 * The parameter type is {@link ArkUI_EdgeEffect}. The default value is <b>ARKUI_EDGE_EFFECT_NONE</b>.\n 4285 * .value[1]?.i32: whether to enable the scroll effect when the component content size is smaller than the 4286 * component itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the 4287 * opposite. The default value is <b>1</b>. \n 4288 * \n 4289 * Format of the return value {@link ArkUI_AttributeItem}:\n 4290 * .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached. 4291 * The parameter type is {@link ArkUI_EdgeEffect}. \n 4292 * .value[1].i32: whether to enable the scroll effect when the component content size is smaller than the component 4293 * itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the opposite. \n 4294 * 4295 */ 4296 NODE_SCROLL_EDGE_EFFECT, 4297 /** 4298 * @brief Defines whether to support scroll gestures. When this attribute is set to <b>false</b>, scrolling by 4299 * finger or mouse is not supported, but the scroll controller API is not affected. 4300 * 4301 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4302 * .value[0].i32: whether to support scroll gestures. The default value is <b>true</b>. \n 4303 * \n 4304 * Format of the return value {@link ArkUI_AttributeItem}:\n 4305 * .value[0].i32: whether to support scroll gestures. \n 4306 * 4307 */ 4308 NODE_SCROLL_ENABLE_SCROLL_INTERACTION, 4309 /** 4310 * @brief Defines the friction coefficient. It applies only to gestures in the scrolling area, and it affects only 4311 * indirectly the scroll chaining during the inertial scrolling process. 4312 * 4313 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4314 * .value[0].f32: friction coefficient. The default value is <b>0.6</b> for non-wearable devices and <b>0.9</b> 4315 * for wearable devices. \n 4316 * \n 4317 * Format of the return value {@link ArkUI_AttributeItem}:\n 4318 * .value[0].f32: friction coefficient. 4319 * 4320 */ 4321 NODE_SCROLL_FRICTION, 4322 /** 4323 * @brief Defines the scroll snapping mode. This attribute can be set, reset, and obtained as required through APIs. 4324 * 4325 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4326 * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}. 4327 * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n 4328 * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the 4329 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4330 * start edge and the first snap point. The default value is <b>true</b>. It is valid only when there are multiple 4331 * snap points.\n 4332 * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the 4333 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4334 * end edge and the last snap point. The default value is <b>true</b>. It is valid only when there are multiple 4335 * snap points.\n 4336 * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an 4337 * edge to which the <b><Scroll></b> component can scroll. \n 4338 * \n 4339 * Format of the return value {@link ArkUI_AttributeItem}:\n 4340 * .value[0].i32: alignment mode for the scroll snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n 4341 * .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the 4342 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4343 * start edge and the first snap point.\n 4344 * .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the 4345 * <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the 4346 * end edge and the last snap point.\n 4347 * .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an edge 4348 * to which the <b><Scroll></b> component can scroll. \n 4349 * 4350 */ 4351 NODE_SCROLL_SNAP, 4352 4353 /** 4354 * @brief Defines the nested scrolling options. This attribute can be set, reset, and obtained as required 4355 * through APIs. 4356 * 4357 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4358 * .value[0].i32: nested scrolling option when the component scrolls forward. 4359 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 4360 * .value[1].i32: nested scrolling option when the component scrolls backward. 4361 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 4362 * \n 4363 * Format of the return value {@link ArkUI_AttributeItem}:\n 4364 * .value[0].i32: nested scrolling option when the component scrolls forward. 4365 * The parameter type is {@link ArkUI_ScrollNestedMode}. \n 4366 * .value[1].i32: nested scrolling option when the component scrolls backward. 4367 * The parameter type is {@link ArkUI_ScrollNestedMode}. 4368 * 4369 */ 4370 NODE_SCROLL_NESTED_SCROLL, 4371 /** 4372 * @brief Defines the specified position to scroll to. This attribute can be set, reset, and obtained as required 4373 * through APIs. 4374 * 4375 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4376 * .value[0].f32: horizontal scrolling offset, in vp. \n 4377 * .value[1].f32: vertical scrolling offset, in vp. \n 4378 * .value[2]?.i32: scrolling duration, in milliseconds. Optional. \n 4379 * .value[3]?.i32: scrolling curve. Optional. The parameter type is {@link ArkUI_AnimationCurve}. 4380 * The default value is <b>ARKUI_CURVE_EASE</b>. \n 4381 * .value[4]?.i32: whether to enable the default spring animation. Optional. The default value <b>0</b> means not 4382 * to enable the default spring animation. \n 4383 * \n 4384 * Format of the return value {@link ArkUI_AttributeItem}:\n 4385 * .value[0].f32: horizontal scrolling offset, in vp. \n 4386 * .value[1].f32: vertical scrolling offset, in vp. \n 4387 * 4388 */ 4389 NODE_SCROLL_OFFSET, 4390 4391 /** 4392 * @brief Defines the edge position to scroll to. This attribute can be set and obtained as required through APIs. 4393 * 4394 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4395 * .value[0].i32: edge position to scroll to. The parameter type is {@link ArkUI_ScrollEdge}. \n 4396 * \n 4397 * Format of the return value {@link ArkUI_AttributeItem}:\n 4398 * .value[0].i32: whether the container at the edge position. The value <b>-1</b> means that the container is not 4399 * at the edge position. If the container is at the edge position, the parameter type is {@link ArkUI_ScrollEdge}. 4400 * 4401 */ 4402 NODE_SCROLL_EDGE, 4403 4404 /** 4405 * @brief Defines whether to enable the swipe-to-turn-pages feature. This attribute can be set, reset, and obtained 4406 * as required through APIs. 4407 * 4408 * If both <b>enablePaging</b> and <b>scrollSnap</b> are set, <b>scrollSnap</b> takes effect, but 4409 * <b>enablePaging</b> does not. \n 4410 * \n 4411 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4412 * .value[0].i32: whether to enable the swipe-to-turn-pages feature. The default value is <b>false</b>. \n 4413 * \n 4414 * Format of the return value {@link ArkUI_AttributeItem}:\n 4415 * .value[0].i32: whether to enable the swipe-to-turn-pages feature. \n 4416 * 4417 */ 4418 NODE_SCROLL_ENABLE_PAGING, 4419 4420 /** 4421 * @brief Scroll to the next or previous page. 4422 * 4423 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4424 * .value[0].i32 Indicates whether to scroll to next page. Value 0 indicates scroll to next page and value 1 4425 * indicates scroll to previous page. \n 4426 * .value[1]?.i32 Indicates whether to enable animation. Value 1 indicates enable and 0 indicates disable. \n 4427 * 4428 */ 4429 NODE_SCROLL_PAGE, 4430 4431 /** 4432 * @brief Scroll a specified distance. 4433 * 4434 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4435 * .value[0].f32:Horizontal scrolling distance in vp; \n 4436 * .value[1].f32: Vertical scrolling distance in vp; \n 4437 * 4438 */ 4439 NODE_SCROLL_BY, 4440 4441 /** 4442 * @brief Performs inertial scrolling based on the initial velocity passed in. 4443 * 4444 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4445 * .value[0].f32: Initial velocity of inertial scrolling. Unit: vp/s. If the value specified is 0, it is 4446 * considered as invalid, and the scrolling for this instance will not take effect. If the value is positive, 4447 * the scroll will move downward; if the value is negative, the scroll will move upward. \n 4448 * 4449 */ 4450 NODE_SCROLL_FLING, 4451 4452 /** 4453 * @brief Sets the fading effect for the edges of scrollable components. 4454 * 4455 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: 4456 * .value[0].i32: whether to enable the fading effect on edges. The value 0 means to disable the fading effect, and 1 means to enable it. 4457 * .value[1]?.f32: length of the fading effect on edges, in vp. Default value: 32. 4458 * 4459 * Format of the return value {@link ArkUI_AttributeItem}: 4460 * .value[0].i32: whether the fading effect on edges is enabled. The value 0 means that the fading effect is disabled, and 1 means that it is enabled. 4461 * .value[1].f32: length of the fading effect on edges, in vp. 4462 * 4463 * @since 14 4464 */ 4465 NODE_SCROLL_FADING_EDGE, 4466 4467 /** 4468 * @brief Obtains the total size of all child components when fully expanded in the scrollable component. 4469 * 4470 * Format of the return value {@link ArkUI_AttributeItem}:\n 4471 * .value[0].f32: total width of all child components when fully expanded in the scrollable component. 4472 * The default unit is vp. \n 4473 * .value[1].f32: total height of all child components when fully expanded in the scrollable component. 4474 * The default unit is vp. \n 4475 * 4476 * @since 14 4477 */ 4478 NODE_SCROLL_SIZE, 4479 4480 /** 4481 * @brief Sets the offset from the start of the scrollable components content. 4482 * 4483 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4484 * .value[0].f32: offset from the start of the content, in vp. \n 4485 * \n 4486 * Format of the return value {@link ArkUI_AttributeItem}:\n 4487 * .value[0].f32: offset from the start of the content, in vp. \n 4488 * 4489 * @since 15 4490 */ 4491 NODE_SCROLL_CONTENT_START_OFFSET, 4492 4493 /** 4494 * @brief Sets the offset from the end of the scrollable components content. 4495 * 4496 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4497 * .value[0].f32: offset from the end of the content, in vp. \n 4498 * \n 4499 * Format of the return value {@link ArkUI_AttributeItem}:\n 4500 * .value[0].f32: offset from the end of the content, in vp. \n 4501 * 4502 * @since 15 4503 */ 4504 NODE_SCROLL_CONTENT_END_OFFSET, 4505 /** 4506 * @brief Defines whether the scrollable scrolls back to top when status bar is clicked. 4507 * This attribute can be set, reset, and obtained as required through APIs. 4508 * 4509 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4510 * .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked. \n 4511 * The value <b>1</b> means to scroll back to top, and <b>0</b> means the opposite. 4512 * The default value is <b>0</b>. \n 4513 * \n 4514 * Format of the return value {@link ArkUI_AttributeItem}: \n 4515 * .value[0]i.32: whether the scrollable scrolls back to top when status bar is clicked. \n 4516 * 4517 * @since 15 4518 */ 4519 NODE_SCROLL_BACK_TO_TOP = 1002021, 4520 4521 /** 4522 * @brief Defines the direction in which the list items are arranged. This attribute can be set, reset, and 4523 * obtained as required through APIs. 4524 * 4525 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4526 * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}. 4527 * The default value is <b>ARKUI_AXIS_VERTICAL</b>. \n 4528 * \n 4529 * Format of the return value {@link ArkUI_AttributeItem}:\n 4530 * .value[0].i32: direction in which the list items are arranged. The parameter type is {@link ArkUI_Axis}. \n 4531 * 4532 */ 4533 NODE_LIST_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST, 4534 /** 4535 * @brief Defines whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 4536 * component. This attribute can be set, reset, and obtained as required through APIs. 4537 * 4538 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4539 * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 4540 * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is 4541 * {@link ArkUI_StickyStyle}. The default value is <b>ARKUI_STICKY_STYLE_NONE</b>. \n 4542 * \n 4543 * Format of the return value {@link ArkUI_AttributeItem}:\n 4544 * .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b> 4545 * component. It is used together with the <b><ListItemGroup></b> component. The parameter type is 4546 * {@link ArkUI_StickyStyle}. 4547 * 4548 */ 4549 NODE_LIST_STICKY, 4550 /** 4551 * @brief Defines the spacing between list items. This attribute can be set, reset, and obtained as required 4552 * through APIs. 4553 * 4554 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4555 * .value[0].f32: spacing between list items along the main axis. The default value is <b>0</b>. \n 4556 * \n 4557 * Format of the return value {@link ArkUI_AttributeItem}:\n 4558 * .value[0].f32: spacing between list items along the main axis. \n 4559 * 4560 */ 4561 NODE_LIST_SPACE, 4562 4563 /** 4564 * @brief Defines the list adapter. The attribute can be set, reset, and obtained as required through APIs. 4565 * 4566 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4567 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 4568 * \n 4569 * Format of the return value {@link ArkUI_AttributeItem}:\n 4570 * .object: {@link ArkUI_NodeAdapter} object. \n 4571 */ 4572 NODE_LIST_NODE_ADAPTER, 4573 4574 /** 4575 * @brief Sets the number of cached items in the list adapter. 4576 * This attribute can be set, reset, and obtained as required through APIs. 4577 * 4578 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4579 * .value[0].i32: number of cached items in the list adapter. \n 4580 * .value[1]?.i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means 4581 * to show cached items. The default value is <b>0</b>. This parameter is supported since API version 15. \n 4582 * \n 4583 * Format of the return value {@link ArkUI_AttributeItem}:\n 4584 * .value[0].i32: number of cached items in the list adapter. \n 4585 * .value[1].i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means 4586 * to show cached items. This parameter is supported since API version 15. \n 4587 * 4588 */ 4589 NODE_LIST_CACHED_COUNT, 4590 4591 /** 4592 * @brief Scroll to the specified index. 4593 * 4594 * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can 4595 * lead to performance issues when loading a large number of items.\n 4596 * \n 4597 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4598 * .value[0].i32:The index value of the target element to be slid to in the current container.\n 4599 * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where 4600 * 1 indicates an action and 0 indicates no action. Default value: 0.\n 4601 * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is 4602 * {@link ArkUI_ScrollAlignment}, default value is ARKUI_SCROLL_ALIGNMENT_START. \n 4603 * .value[3]?.f32: extra offset, in vp. The default value is <b>0</b>. 4604 * This parameter is supported since API version 15. \n 4605 * 4606 */ 4607 NODE_LIST_SCROLL_TO_INDEX, 4608 4609 /** 4610 * @brief 设置List交叉轴方向宽度大于ListItem交叉轴宽度 * lanes时, 4611 * ListItem在List交叉轴方向的布局方式,支持属性设置,属性重置和属性获取接口。 4612 * 4613 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 4614 * .value[0].i32:交叉轴方向的布局方式。参数类型{@link ArkUI_ListItemAlignment} \n 4615 * \n 4616 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 4617 * .value[0].i32:交叉轴方向的布局方式。参数类型{@link ArkUI_ListItemAlignment} \n 4618 */ 4619 NODE_LIST_ALIGN_LIST_ITEM, 4620 4621 /** 4622 * @brief Set the default spindle size for the List subcomponent. 4623 * 4624 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4625 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 4626 * \n 4627 * Format of the return value {@link ArkUI_AttributeItem}:\n 4628 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 4629 */ 4630 NODE_LIST_CHILDREN_MAIN_SIZE = 1003007, 4631 /** 4632 * @brief 设置当前List初次加载时视口起始位置显示的item的索引值,支持属性设置,属性重置和属性获取接口。 4633 * 4634 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 4635 * .value[0].i32: 当前List初次加载时视口起始位置显示的item的索引值。 \n 4636 * \n 4637 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 4638 * .value[0].i32: 当前List初次加载时视口起始位置显示的item的索引值,默认值:0。 \n 4639 */ 4640 NODE_LIST_INITIAL_INDEX = 1003008, 4641 /** 4642 * @brief sets the ListItem splitter style. By default, there is no splitter. 4643 * This attribute can be set, reset, and obtained as required through APIs. 4644 * 4645 * Attribute setting method parameter {@link ArkUI_AttributeItem} Format: \n 4646 *.value[0].u32: divider color, type 0xargb; \n 4647 *.value[1].f32: dividing line width; \n 4648 *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n 4649 *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n 4650 * \n 4651 * Attribute fetch method return value {@link ArkUI_AttributeItem} format: \n 4652 *.value[0].u32: divider color, type 0xargb; \n 4653 *.value[1].f32: dividing line width; \n 4654 *.value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp; \n 4655 *.value[3].f32: the distance between the divider and the end of the side of the list (unit: vp). \n 4656 * 4657 */ 4658 NODE_LIST_DIVIDER = 1003009, 4659 4660 /** 4661 * @brief Scrolls to the item with the specified index in the specified list item group. 4662 * 4663 * When <b>smooth</b> is set to <b>true</b>, all passed items are loaded and counted in layout calculation. 4664 * This may result in performance issues if a large number of items are involved. \n 4665 * \n 4666 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4667 * .value[0].i32: index of the target list item group in the current list. \n 4668 *.value[1].i32: index of the target list item in the list item group. \n 4669 * .value[2]?.i32: whether to enable the smooth animation for scrolling to the item with the specified index. 4670 * The value <b>1</b> means to enable the animation, and <b>0</b> means the opposite. 4671 * The default value is <b>0</b>. \n 4672 * .value[3]?.i32: how the item to scroll to is aligned with the container. The parameter type is 4673 * {@link ArkUI_ScrollAlignment}. The default value is <b>ARKUI_SCROLL_ALIGNMENT_START</b>. \n 4674 * 4675 * @since 15 4676 */ 4677 NODE_LIST_SCROLL_TO_INDEX_IN_GROUP = 1003010, 4678 4679 /** 4680 * @brief Sets the number of lanes in the list. 4681 * This attribute can be set, reset, and obtained as required through APIs. 4682 * 4683 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4684 * .value[0].u32: number of lanes in the list. If the maximum and minimum lane widths are set, setting the number 4685 * of lanes will not take effect. \n 4686 * .value[1]?.f32: minimum lane width, in vp. \n 4687 * .value[2]?.f32: maximum column width, in vp. \n 4688 * .value[3]?.f32: lane spacing, in vp. \n 4689 * \n 4690 * Format of the return value {@link ArkUI_AttributeItem}:\n 4691 * .value[0].u32: number of lanes in the list. \n 4692 * .value[1].f32: minimum lane width, in vp. \n 4693 * .value[2].f32: maximum column width, in vp. \n 4694 * .value[3].f32: lane spacing, in vp. \n \n 4695 * 4696 * @since 15 4697 */ 4698 NODE_LIST_LANES = 1003011, 4699 4700 /** 4701 * @brief Sets the list snap alignment mode. 4702 * 4703 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4704 * .value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}. 4705 * The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.\n 4706 * \n 4707 * Format of the return value {@link ArkUI_AttributeItem}:\n 4708 *.value[0].i32: alignment mode for the list snap position. The parameter type is {@link ArkUI_ScrollSnapAlign}.\n 4709 * 4710 * @since 15 4711 */ 4712 NODE_LIST_SCROLL_SNAP_ALIGN = 1003012, 4713 4714 /** 4715 * @brief Sets whether to maintain the visible content's position when data is inserted or deleted outside the 4716 * display area of the <b>List</b> component. 4717 * 4718 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4719 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the 4720 * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's 4721 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 4722 * \n 4723 * Format of the return value {@link ArkUI_AttributeItem}:\n 4724 * .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the 4725 * display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's 4726 * position, and <b>1</b> means the opposite. The default value is <b>0</b>. \n 4727 * 4728 * @since 15 4729 */ 4730 NODE_LIST_MAINTAIN_VISIBLE_CONTENT_POSITION = 1003013, 4731 4732 /** 4733 * @brief Defines whether to enable loop playback for the swiper. This attribute can be set, reset, and obtained 4734 * as required through APIs. 4735 * 4736 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4737 * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b> 4738 * means the opposite. The default value is <b>1/b>. \n 4739 * \n 4740 * Format of the return value {@link ArkUI_AttributeItem}:\n 4741 * .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b> 4742 * means the opposite. The default value is <b>1</b>. \n 4743 * 4744 */ 4745 NODE_SWIPER_LOOP = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER, 4746 /** 4747 * @brief Defines whether to enable automatic playback for child component switching in the swiper. 4748 * This attribute can be set, reset, and obtained as required through APIs. 4749 * 4750 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4751 * .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> 4752 * means to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 4753 * \n 4754 * Format of the return value {@link ArkUI_AttributeItem}:\n 4755 * .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> means 4756 * to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 4757 * 4758 */ 4759 NODE_SWIPER_AUTO_PLAY, 4760 /** 4761 * @brief Defines whether to enable the navigation point indicator for the swiper. This attribute can be set, 4762 * reset, and obtained as required through APIs. 4763 * 4764 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4765 * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the 4766 * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n 4767 * \n 4768 * Format of the return value {@link ArkUI_AttributeItem}:\n 4769 * .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the 4770 * navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>. \n 4771 * 4772 */ 4773 NODE_SWIPER_SHOW_INDICATOR, 4774 /** 4775 * @brief Defines the interval for automatic playback. This attribute can be set, reset, and obtained as required 4776 * through APIs. 4777 * 4778 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4779 * .value[0].f32: interval for automatic playback, in milliseconds. \n 4780 * \n 4781 * Format of the return value {@link ArkUI_AttributeItem}:\n 4782 * .value[0].f32: interval for automatic playback, in milliseconds. \n 4783 * 4784 */ 4785 NODE_SWIPER_INTERVAL, 4786 /** 4787 * @brief Defines whether vertical swiping is used for the swiper. This attribute can be set, reset, and obtained 4788 * as required through APIs. 4789 * 4790 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4791 * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and 4792 * <b>0</b> means the opposite. The default value is <b>0</b>. \n 4793 * \n 4794 * Format of the return value {@link ArkUI_AttributeItem}:\n 4795 * .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and 4796 * <b>0</b> means the opposite. The default value is <b>0</b>. \n 4797 * 4798 */ 4799 NODE_SWIPER_VERTICAL, 4800 4801 /** 4802 * @brief Defines the duration of the animation for switching child components. This attribute can be set, reset, 4803 * and obtained as required through APIs. 4804 * 4805 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4806 * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is 4807 * <b>400</b>. \n 4808 * \n 4809 * Format of the return value {@link ArkUI_AttributeItem}:\n 4810 * .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is 4811 * <b>400</b>. \n 4812 * 4813 */ 4814 NODE_SWIPER_DURATION, 4815 4816 /** 4817 * @brief Defines the animation curve for the swiper. This attribute can be set, reset, and obtained as required 4818 * through APIs. 4819 * 4820 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4821 * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}. 4822 * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n 4823 * \n 4824 * Format of the return value {@link ArkUI_AttributeItem}:\n 4825 * .value[0].i32: animation curve. The parameter type is {@link ArkUI_AnimationCurve}. 4826 * The default value is <b>ARKUI_CURVE_LINEAR</b>. \n 4827 * 4828 */ 4829 NODE_SWIPER_CURVE, 4830 4831 /** 4832 * @brief Defines the spacing between child components in the swiper. 4833 * This attribute can be set, reset, and obtained as required through APIs. 4834 * 4835 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4836 * .value[0].f32: spacing between child components. \n 4837 * \n 4838 * Format of the return value {@link ArkUI_AttributeItem}:\n 4839 * .value[0].f32: spacing between child components. \n 4840 * 4841 */ 4842 NODE_SWIPER_ITEM_SPACE, 4843 4844 /** 4845 * @brief Defines the index of the child component currently displayed in the swiper. 4846 * This attribute can be set, reset, and obtained as required through APIs. 4847 * 4848 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4849 * .value[0].i32: index value of the child component. \n 4850 * .value[1]?.i32: animation mode, the parameter type is {@linkArkUI_SwiperAnimationMode}. \n 4851 * The default value is ARKUI_SWIPER_NO_ANIMATION. This parameeter isvalidonlyforthecurrentcall. \n 4852 * This parameter is supported since API version 16. \n 4853 * \n 4854 * Format of the return value {@link ArkUI_AttributeItem}:\n 4855 * .value[0].i32: index value of the child component. \n 4856 * .value[1]?.i32: animation mode, the parameter type is {@linkArkUI_SwiperAnimationMode}. \n 4857 * The default value is ARKUI_SWIPER_NO_ANIMATION. This parameeter isvalidonlyforthecurrentcall. \n 4858 * This parameter is supported since API version 16. \n 4859 * 4860 */ 4861 NODE_SWIPER_INDEX, 4862 4863 /** 4864 * @brief Defines the number of elements to display per page. 4865 * This attribute can be set, reset, and obtained as required through APIs. 4866 * 4867 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4868 * .value[0].i32: index value of the child component. \n 4869 * \n 4870 * Format of the return value {@link ArkUI_AttributeItem}:\n 4871 * .value[0].i32: index value of the child component. \n 4872 * 4873 */ 4874 NODE_SWIPER_DISPLAY_COUNT, 4875 4876 /** 4877 * @brief Defines whether to disable the swipe feature. 4878 * This attribute can be set, reset, and obtained as required through APIs. 4879 * 4880 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4881 * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable 4882 * the swipe feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 4883 * \n 4884 * Format of the return value {@link ArkUI_AttributeItem}:\n 4885 * .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable the swipe 4886 * feature, and <b>0</b> means the opposite. The default value is <b>0</b>. \n 4887 * 4888 */ 4889 NODE_SWIPER_DISABLE_SWIPE, 4890 4891 /** 4892 * @brief Defines whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 4893 * This attribute can be set, reset, and obtained as required through APIs. 4894 * 4895 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4896 * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 4897 * The parameter type is {@link ArkUI_SwiperArrow}.\n 4898 * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n 4899 * \n 4900 * Format of the return value {@link ArkUI_AttributeItem}:\n 4901 * .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator. 4902 * The parameter type is {@link ArkUI_SwiperArrow}.\n 4903 * The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>. \n 4904 * 4905 */ 4906 NODE_SWIPER_SHOW_DISPLAY_ARROW, 4907 4908 /** 4909 * @brief Defines the effect used at the edges of the swiper when the boundary of the scrollable content is reached. 4910 * This attribute can be set, reset, and obtained as required through APIs. 4911 * 4912 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4913 * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached. 4914 * The parameter type is {@link ArkUI_EdgeEffect}.\n 4915 * The default value is <b>ARKUI_EDGE_EFFECT_SPRING</b>. \n 4916 * \n 4917 * Format of the return value {@link ArkUI_AttributeItem}:\n 4918 * .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached. 4919 * The parameter type is {@link ArkUI_EdgeEffect}. \n 4920 * 4921 */ 4922 NODE_SWIPER_EDGE_EFFECT_MODE, 4923 4924 /** 4925 * @brief Defines the swiper adapter. The attribute can be set, reset, and obtained as required through APIs. 4926 * 4927 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4928 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 4929 * \n 4930 * Format of the return value {@link ArkUI_AttributeItem}:\n 4931 * .object: {@link ArkUI_NodeAdapter} object. \n 4932 */ 4933 NODE_SWIPER_NODE_ADAPTER, 4934 4935 /** 4936 * @brief Sets the number of cached items in the swiper adapter. 4937 * This attribute can be set, reset, and obtained as required through APIs. 4938 * 4939 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4940 * .value[0].i32: number of cached items in the swiper adapter. \n 4941 * \n 4942 * Format of the return value {@link ArkUI_AttributeItem}:\n 4943 * .value[0].f32: number of cached items in the swiper adapter. \n 4944 */ 4945 NODE_SWIPER_CACHED_COUNT, 4946 4947 /** 4948 * @brief Defines the front margin of the wiper. 4949 * The attribute can be set, reset, and obtained as required through APIs. 4950 * 4951 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4952 * .value[0].f32: the front margin. The unit is vp. The default value is <b>0.0</b>\n 4953 * .value[1]?.i32: whether to ignore blanks, the default value is 0. 4954 * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n 4955 * Format of the return value {@link ArkUI_AttributeItem}:\n 4956 * .value[0].f32: the front margin, the unit is vp. \n 4957 * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means 4958 * the opposite. \n 4959 */ 4960 NODE_SWIPER_PREV_MARGIN, 4961 4962 /** 4963 * @brief Defines the back margin of the wiper. 4964 * The attribute can be set, reset, and obtained as required through APIs. 4965 * 4966 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4967 * .value[0].f32: the back margin. The unit is vp. The default value is <b>0.0</b>\n 4968 * .value[1]?.i32: whether to ignore blanks, the default value is 0. 4969 * The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite. \n 4970 * Format of the return value {@link ArkUI_AttributeItem}:\n 4971 * .value[0].f32: the back margin, the unit is vp. \n 4972 * .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means 4973 * the opposite. \n 4974 */ 4975 NODE_SWIPER_NEXT_MARGIN, 4976 4977 /** 4978 * @brief Sets the navigation point indicator of the dot style for the swiper. 4979 * This attribute can be set, reset, and obtained as required through APIs. 4980 * 4981 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4982 * .value[0].i32: navigation point indicator type. The parameter type is {@link ArkUI_SwiperIndicatorType}. \n 4983 * .object: navigation point indicator. The parameter type is {@link ArkUI_SwiperIndicator}. \n 4984 * Format of the return value {@link ArkUI_AttributeItem}:\n 4985 * .value[0].i32: navigation point indicator type. The parameter type is {@link ArkUI_SwiperIndicatorType}. \n 4986 * .object: navigation point indicator. The parameter type is {@link ArkUI_SwiperIndicator}. \n 4987 * 4988 */ 4989 NODE_SWIPER_INDICATOR, 4990 4991 /** 4992 * @brief Set the nested scrolling mode for the Swiper component and parent component. 4993 * 4994 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 4995 * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is 4996 * {@link ArkUI_SwiperNestedScrollMode} \n 4997 * The default value is <b>ARKUI_SWIPER_NESTED_SRCOLL_SELF_ONLY<b> \n 4998 * \n 4999 * Format of the return value {@link ArkUI_AttributeItem}:\n 5000 * .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is 5001 * {@link ArkUI_SwiperNestedScrollMode} \n 5002 */ 5003 NODE_SWIPER_NESTED_SCROLL, 5004 5005 /** 5006 * @brief Set the switcher component to flip to the specified page. 5007 * 5008 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5009 * .value[0].i32:Specify the index value of the page in Swiper.\n 5010 * .value[1]?.i32:Set whether there is an animation effect when flipping to the specified page. 1 indicates active 5011 * effect, 0 indicates no active effect, default value is 0。\n 5012 */ 5013 NODE_SWIPER_SWIPE_TO_INDEX, 5014 5015 /** 5016 * @brief Set to disable component navigation point interactions. 5017 * 5018 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5019 * .value[0].i32: Set to disable component navigation point interaction, set to true to indicate the navigation point 5020 * is interactive, default value is true.\n 5021 * \n 5022 * The return value of the attribute acquisition method {@link ArkUI_AttributeItem} format: \n 5023 * .value[0].i32: Set to disable component navigation point interactions. \n 5024 */ 5025 NODE_SWIPER_INDICATOR_INTERACTIVE, 5026 5027 /** 5028 * @brief Sets the page flipping mode using the mouse wheel. 5029 * 5030 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5031 * .value[0].i32: page flipping mode using the mouse wheel. The parameter type is {@link ArkUI_PageFlipMode}. \n 5032 * \n 5033 * Format of the return value {@link ArkUI_PageFlipMode}:\n 5034 * .value[0].i32: page flipping mode using the mouse wheel. \n 5035 * 5036 * @since 15 5037 */ 5038 NODE_SWIPER_PAGE_FLIP_MODE, 5039 5040 /** 5041 * @brief: Set the delineation component of the ListItem, supporting property settings, property resets, and 5042 * property acquisition interfaces. 5043 * 5044 * Attribute setting method parameter {@link ArkUI_AttributeItem} format: \n 5045 * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n 5046 * \n 5047 * The return value of the attribute acquisition method {@link ArkUI_AttributeItem} format: \n 5048 * .object: Construct using the {@link ArkUI_ListitemSwipeActionOption} object. \n 5049 * 5050 */ 5051 NODE_LIST_ITEM_SWIPE_ACTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM, 5052 5053 /** 5054 * @brief Defines the header of the list item group. 5055 * This attribute can be set, reset, and obtained as required through APIs. 5056 * 5057 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5058 * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n 5059 * \n 5060 * Format of the return value {@link ArkUI_AttributeItem}:\n 5061 * .object: {@link ArkUI_NodeHandle} object to be used as the header of the list item group. \n 5062 * 5063 */ 5064 NODE_LIST_ITEM_GROUP_SET_HEADER = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST_ITEM_GROUP, 5065 /** 5066 * @brief Defines the footer of the list item group. This attribute can be set, reset, and obtained as 5067 * required through APIs. 5068 * 5069 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5070 * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n 5071 * \n 5072 * Format of the return value {@link ArkUI_AttributeItem}:\n 5073 * .object: {@link ArkUI_NodeHandle} object to be used as the footer of the list item group. \n 5074 * 5075 */ 5076 NODE_LIST_ITEM_GROUP_SET_FOOTER, 5077 /** 5078 * @brief Defines the style of the divider for the list items. This attribute can be set, reset, and obtained 5079 * as required through APIs. 5080 * 5081 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5082 * .value[0].u32: color of the divider, in 0xARGB format.\n 5083 * .value[1].f32: stroke width of the divider, in vp.\n 5084 * .value[2].f32: distance between the divider and the start of the list, in vp.\n 5085 * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n 5086 * \n 5087 * Format of the return value {@link ArkUI_AttributeItem}:\n 5088 * .value[0].u32: color of the divider, in 0xARGB format.\n 5089 * .value[1].f32: stroke width of the divider, in vp.\n 5090 * .value[2].f32: distance between the divider and the start of the list, in vp.\n 5091 * .value[3].f32: distance between the divider and the end of the list, in vp.\n \n 5092 * 5093 */ 5094 NODE_LIST_ITEM_GROUP_SET_DIVIDER, 5095 5096 /** 5097 * @brief Set the default spindle size for the ListItem Group subcomponent. 5098 * 5099 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5100 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5101 * \n 5102 * Format of the return value {@link ArkUI_AttributeItem}:\n 5103 * .object: The parameter format is {@ ArkUI-ListChildrenMainSize} \n 5104 */ 5105 NODE_LIST_ITEM_GROUP_CHILDREN_MAIN_SIZE = 1005003, 5106 5107 /** 5108 * @brief Defines the list item group adapter. 5109 * This attribute can be set, reset, and obtained as required through APIs. 5110 * 5111 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5112 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5113 * \n 5114 * Format of the return value {@link ArkUI_AttributeItem}:\n 5115 * .object: {@link ArkUI_NodeAdapter} object. \n 5116 * 5117 * @since 15 5118 */ 5119 NODE_LIST_ITEM_GROUP_NODE_ADAPTER = 1005004, 5120 5121 /** 5122 * @brief Defines the horizontal alignment mode of child components in the column. 5123 * This attribute can be set, reset, and obtained as required through APIs. 5124 * 5125 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5126 * .value[0].i32: horizontal alignment mode of child components. 5127 * The parameter type is {@link ArkUI_HorizontalAlignment}.\n 5128 * Default value: <b>ARKUI_HORIZONTAL_ALIGNMENT_CENTER</b>. \n 5129 * \n 5130 * Format of the return value {@link ArkUI_AttributeItem}:\n 5131 * .value[0].i32: horizontal alignment mode of child components. 5132 * The parameter type is {@link ArkUI_HorizontalAlignment}. \n 5133 * 5134 */ 5135 NODE_COLUMN_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_COLUMN, 5136 /** 5137 * @brief Defines the vertical alignment mode of child components in the column. 5138 * This attribute can be set, reset, and obtained as required through APIs. 5139 * 5140 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5141 * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}.\n 5142 * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n 5143 * \n 5144 * Format of the return value {@link ArkUI_AttributeItem}:\n 5145 * .value[0].i32: vertical alignment mode of child components. The parameter type is {@link ArkUI_FlexAlignment}. \n 5146 * 5147 */ 5148 NODE_COLUMN_JUSTIFY_CONTENT, 5149 5150 /** 5151 * @brief Defines the vertical alignment mode of child components in the row. 5152 * This attribute can be set, reset, and obtained as required through APIs. 5153 * 5154 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5155 * .value[0].i32: vertical alignment mode of child components. 5156 * The parameter type is {@link ArkUI_VerticalAlignment}.\n 5157 * Default value: <b>ARKUI_VERTICAL_ALIGNMENT_CENTER</b>. \n 5158 * \n 5159 * Format of the return value {@link ArkUI_AttributeItem}:\n 5160 * .value[0].i32: vertical alignment mode of child components. 5161 * The parameter type is {@link ArkUI_VerticalAlignment}. \n 5162 * 5163 */ 5164 NODE_ROW_ALIGN_ITEMS = MAX_NODE_SCOPE_NUM * ARKUI_NODE_ROW, 5165 /** 5166 * @brief Defines the horizontal alignment mode of child components in the row. 5167 * This attribute can be set, reset, and obtained as required through APIs. 5168 * 5169 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5170 * .value[0].i32: horizontal alignment mode of child components. 5171 * The parameter type is {@link ArkUI_FlexAlignment}.\n 5172 * Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>. \n 5173 * \n 5174 * Format of the return value {@link ArkUI_AttributeItem}:\n 5175 * .value[0].i32: horizontal alignment mode of child components. 5176 * The parameter type is {@link ArkUI_FlexAlignment}. \n 5177 * 5178 */ 5179 NODE_ROW_JUSTIFY_CONTENT, 5180 5181 /** 5182 * @brief Defines the flex attribute. This attribute can be set, reset, and obtained as required through APIs. 5183 * 5184 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5185 * .value[0]?.i32: direction in which flex items are arranged. The parameter type is {@link ArkUI_FlexDirection}. 5186 * The default value is <b>ARKUI_FLEX_DIRECTION_ROW</b>.\n 5187 * .value[1]?.i32: how the flex items are wrapped. The parameter type is {@link ArkUI_FlexWrap}. 5188 * The default value is <b>ARKUI_FLEX_WRAP_NO_WRAP</b>.\n 5189 * .value[2]?.i32: alignment mode along the main axis. The parameter type is {@link ArkUI_FlexAlignment}. 5190 * The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n 5191 * .value[3]?.i32: alignment mode along the cross axis. The parameter type is {@link ArkUI_ItemAlignment}. 5192 * The default value is <b>ARKUI_ITEM_ALIGNMENT_START</b>.\n 5193 * .value[4]?.i32: alignment mode along the cross axis for multi-line content. The parameter type is 5194 * {@link ArkUI_FlexAlignment}. The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.\n 5195 * \n 5196 * Format of the return value {@link ArkUI_AttributeItem}:\n 5197 * .value[0].i32: direction in which flex items are arranged. \n 5198 * .value[1].i32: how the flex items are wrapped. \n 5199 * .value[2].i32: alignment mode along the main axis. \n 5200 * .value[3].i32: alignment mode along the cross axis. \n 5201 * .value[4]?.i32: alignment mode along the cross axis for multi-line content.\n 5202 * 5203 */ 5204 NODE_FLEX_OPTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_FLEX, 5205 5206 /** 5207 * @brief Sets whether the component is being refreshed. 5208 * This attribute can be set and obtained as required through APIs. 5209 * 5210 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5211 * .value[0].i32: The parameter type is 1 or 0. 5212 * \n 5213 * Format of the return value {@link ArkUI_AttributeItem}:\n 5214 * .value[0].i32: The parameter type is 1 or 0. 5215 * 5216 */ 5217 NODE_REFRESH_REFRESHING = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH, 5218 /** 5219 * @brief Sets the custom content in the pull-down area. 5220 * This attribute can be set, reset, and obtained as required through APIs. 5221 * 5222 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5223 * .object: The parameter type is {@link ArkUI_NodeHandle}. 5224 * 5225 */ 5226 NODE_REFRESH_CONTENT, 5227 /** 5228 * @brief Sets the pull-down ratio. This attribute can be set, reset, and obtained as required through APIs. 5229 * 5230 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5231 * .value[0].f32: pull-down ratio. The value is in the range from 0 to 1. 5232 * \n 5233 * Format of the return value {@link ArkUI_AttributeItem}:\n 5234 * .value[0].f32: pull-down ratio. The value is in the range from 0 to 1. 5235 * 5236 */ 5237 NODE_REFRESH_PULL_DOWN_RATIO = 1009002, 5238 /** 5239 * @brief Sets the pull-down offset that initiates a refresh. 5240 * This attribute can be set, reset, and obtained as required through APIs. 5241 * 5242 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5243 *.value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>. 5244 * \n 5245 * Format of the return value {@link ArkUI_AttributeItem}:\n 5246 *.value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>. 5247 * 5248 */ 5249 NODE_REFRESH_OFFSET = 1009003, 5250 /** 5251 * @brief Sets whether to initiate a refresh when the pull-down distance exceeds the value of <b>refreshOffset</b>. 5252 * This attribute can be set, reset, and obtained as required through APIs. 5253 * 5254 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5255 * .value[0].i32: whether to initiate a refresh. The value <b>true</b> means to initiate a refresh, and 5256 * <b>false</b> means the opposite. 5257 * \n 5258 * Format of the return value {@link ArkUI_AttributeItem}:\n 5259 * .value[0].i32: whether to initiate a refresh. The value <b>1</b> means to initiate a refresh, and 5260 * <b>0</b> means the opposite. 5261 * 5262 */ 5263 NODE_REFRESH_PULL_TO_REFRESH = 1009004, 5264 5265 /** 5266 * @brief Defines the main axis direction of the <b><WaterFlow></b> component layout. 5267 * This attribute can be set, reset, and obtained as required through APIs. 5268 * 5269 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5270 * .value[0].i32: main axis direction. The parameter type is {@link ArkUI_FlexDirection}. 5271 * \n 5272 * Format of the return value {@link ArkUI_AttributeItem}:\n 5273 * .value[0].i32: main axis direction. The parameter type is {@link ArkUI_FlexDirection}. 5274 * 5275 */ 5276 NODE_WATER_FLOW_LAYOUT_DIRECTION = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW, 5277 /** 5278 * @brief Sets the number of columns in the water flow layout. If this parameter is not set, one column is used 5279 * by default. This attribute can be set, reset, and obtained as required through APIs. 5280 * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent 5281 * component's full width, the second column 1/4, and the third column 2/4. 5282 * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of 5283 * columns based on the specified column width <b>track-size</b>. 5284 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 5285 * or a valid number. 5286 * 5287 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5288 * .string: number of columns in the layout.\n 5289 * \n 5290 * Format of the return value {@link ArkUI_AttributeItem}:\n 5291 * .string: number of columns in the layout.\n 5292 * 5293 */ 5294 NODE_WATER_FLOW_COLUMN_TEMPLATE, 5295 5296 /** 5297 * @brief Sets the number of rows in the water flow layout. If this parameter is not set, one row is used 5298 * by default. This attribute can be set, reset, and obtained as required through APIs. 5299 * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent 5300 * component's full height, the second row 1/4, and the third row 2/4. 5301 * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows 5302 * based on the specified row height <b>track-size</b>. 5303 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, 5304 * or a valid number. 5305 * 5306 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5307 * .string: number of rows in the layout. \n 5308 * \n 5309 * Format of the return value {@link ArkUI_AttributeItem}:\n 5310 * .string: number of rows in the layout. \n 5311 * 5312 */ 5313 NODE_WATER_FLOW_ROW_TEMPLATE, 5314 5315 /** 5316 * @brief Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs. 5317 * 5318 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5319 * .value[0].f32: gap between columns, in vp.\n 5320 * \n 5321 * Format of the return value {@link ArkUI_AttributeItem}:\n 5322 * .value[0].f32: gap between columns, in vp.\n 5323 * 5324 */ 5325 NODE_WATER_FLOW_COLUMN_GAP, 5326 5327 /** 5328 * @brief Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs. 5329 * 5330 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5331 * .value[0].f32: gap between lines, in vp.\n 5332 * \n 5333 * Format of the return value {@link ArkUI_AttributeItem}:\n 5334 * .value[0].f32: gap between lines, in vp.\n 5335 * 5336 */ 5337 NODE_WATER_FLOW_ROW_GAP, 5338 5339 /** 5340 * @brief Defines the water flow section configuration. 5341 * This attribute can be set, reset, and obtained as required through APIs. 5342 * 5343 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5344 * .value[0].i32: zero-based index of the water flow item section to update. 5345 * The value is converted to an integer. \n 5346 * .object: {@ArkUI_WaterFlowSectionOption} object.\n 5347 * \n 5348 * Format of the return value {@link ArkUI_AttributeItem}:\n 5349 * .object: {@ArkUI_WaterFlowSectionOption} object.\n 5350 * 5351 */ 5352 NODE_WATER_FLOW_SECTION_OPTION, 5353 5354 /** 5355 * @brief Defines the water flow adapter. The attribute can be set, reset, and obtained as required through APIs. 5356 * 5357 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5358 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5359 * \n 5360 * Format of the return value {@link ArkUI_AttributeItem}:\n 5361 * .object: {@link ArkUI_NodeAdapter} object. \n 5362 */ 5363 NODE_WATER_FLOW_NODE_ADAPTER, 5364 5365 /** 5366 * @brief Sets the number of cached items in the water flow adapter. 5367 * This attribute can be set, reset, and obtained as required through APIs. 5368 * 5369 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5370 * .value[0].i32: number of cached items in the water flow adapter. \n 5371 */ 5372 NODE_WATER_FLOW_CACHED_COUNT, 5373 /** 5374 * @brief 设置瀑布流组件末尾的自定义显示组件。 5375 * 5376 * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n 5377 * .object:参数类型{@Link ArkUI_NodeHandle}。 5378 * 5379 */ 5380 NODE_WATER_FLOW_FOOTER, 5381 /** 5382 * @brief Scroll to the specified index. 5383 * 5384 * When activating the smooth animation, all items passed through will be loaded and layout calculated, which can 5385 * lead to performance issues when loading a large number of items.\n 5386 * \n 5387 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5388 * .value[0].i32:The index value of the target element to be slid to in the current container.\n 5389 * .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where 5390 * 1 indicates an action and 0 indicates no action. Default value is 0。\n 5391 * .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is 5392 * {@link ArkUI_ScrollAlignment}. Default value is </b>ARKUI_SCROLL_ALIGNMENT_START</b>。\n 5393 * 5394 */ 5395 NODE_WATER_FLOW_SCROLL_TO_INDEX, 5396 5397 /** 5398 * @brief Defines the size constraints to apply to water flow items. 5399 * This attribute can be set, reset, and obtained as required through APIs. 5400 * 5401 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5402 * .value[0].f32: minimum width. The value <b>-1</b> indicates that the minimum width is not set. \n 5403 * .value[1].f32: maximum width. The value <b>-1</b> indicates that the maximum width is not set. \n 5404 * .value[2].f32: minimum height. The value <b>-1</b> indicates that the minimum height is not set. \n 5405 * .value[3].f32: maximum height. The value <b>-1</b> indicates that the maximum height is not set. \n 5406 * \n 5407 * Format of the return value {@link ArkUI_AttributeItem}:\n 5408 * .value[0].f32: minimum width. The value <b>-1</b> indicates that the minimum width is not set. \n 5409 * .value[1].f32: maximum width. The value <b>-1</b> indicates that the maximum width is not set. \n 5410 * .value[2].f32: minimum height. The value <b>-1</b> indicates that the minimum height is not set. \n 5411 * .value[3].f32: maximum height. The value <b>-1</b> indicates that the maximum height is not set. \n 5412 * 5413 */ 5414 NODE_WATER_FLOW_ITEM_CONSTRAINT_SIZE, 5415 5416 /** 5417 * @brief Sets the number of columns in the water flow layout. If this parameter is not set, one column is used by 5418 * default. This attribute can be set, reset, and obtained as required through APIs. 5419 * For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent 5420 * component's full width, the second column 1/4, and the third column 2/4. 5421 * You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of 5422 * columns based on the specified column width <b>track-size</b>. 5423 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, or 5424 * a valid number. 5425 * 5426 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5427 * .string: number of columns in the layout.\n 5428 * \n 5429 * Format of the return value {@link ArkUI_AttributeItem}:\n 5430 * .string: number of columns in the layout.\n 5431 * 5432 */ 5433 NODE_GRID_COLUMN_TEMPLATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_GRID, 5434 5435 /** 5436 * @brief Sets the number of rows or the minimum row height in the grid layout. If this parameter is not set, one 5437 * row is used by default. This attribute can be set, reset, and obtained as required through APIs. 5438 * For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent 5439 * component's full height, the second row 1/4, and the third row 2/4. 5440 * You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows 5441 * based on the specified row height <b>track-size</b>. 5442 * <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %, or 5443 * a valid number. 5444 * 5445 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5446 * .string: number of rows in the layout. \n 5447 * \n 5448 * Format of the return value {@link ArkUI_AttributeItem}:\n 5449 * .string: number of rows in the layout. \n 5450 * 5451 */ 5452 NODE_GRID_ROW_TEMPLATE, 5453 5454 /** 5455 * @brief Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs. 5456 * 5457 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5458 * .value[0].f32: gap between columns, in vp.\n 5459 * \n 5460 * Format of the return value {@link ArkUI_AttributeItem}:\n 5461 * .value[0].f32: gap between columns, in vp.\n 5462 * 5463 */ 5464 NODE_GRID_COLUMN_GAP, 5465 5466 /** 5467 * @brief Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs. 5468 * 5469 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5470 * .value[0].f32: gap between lines, in vp.\n 5471 * \n 5472 * Format of the return value {@link ArkUI_AttributeItem}:\n 5473 * .value[0].f32: gap between lines, in vp.\n 5474 * 5475 */ 5476 NODE_GRID_ROW_GAP, 5477 5478 /** 5479 * @brief Defines the grid adapter. The attribute can be set, reset, and obtained as required through APIs. 5480 * 5481 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5482 * .object: {@link ArkUI_NodeAdapter} object as the adapter. \n 5483 * \n 5484 * Format of the return value {@link ArkUI_AttributeItem}:\n 5485 * .object: {@link ArkUI_NodeAdapter} object. \n 5486 */ 5487 NODE_GRID_NODE_ADAPTER, 5488 5489 /** 5490 * @brief Sets the number of cached items in the grid adapter. 5491 * This attribute can be set, reset, and obtained as required through APIs. 5492 * 5493 * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n 5494 * .value[0].i32: number of cached items in the water flow adapter. \n 5495 */ 5496 NODE_GRID_CACHED_COUNT, 5497 5498 /** 5499 * @brief 设置RelativeContaine容器内的辅助线,支持属性设置,属性重置和属性获取接口。 5500 * 5501 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 5502 * .object: RelativeContaine容器内的辅助线: \n 5503 * \n 5504 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 5505 * .object: RelativeContaine容器内的辅助线: \n 5506 * 5507 */ 5508 NODE_RELATIVE_CONTAINER_GUIDE_LINE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RELATIVE_CONTAINER, 5509 5510 /** 5511 * @brief 设置RelativeContaine容器内的屏障,支持属性设置,属性重置和属性获取接口。 5512 * 5513 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 5514 * .object: RelativeContaine容器内的辅助线: \n 5515 * \n 5516 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 5517 * .object: RelativeContaine容器内的屏障: \n 5518 * 5519 */ 5520 NODE_RELATIVE_CONTAINER_BARRIER, 5521 5522 /** 5523 * @brief 设置帧动画组件的图片帧信息集合。不支持动态更新。支持属性设置,属性重置和属性获取接口。 5524 * 5525 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 5526 * .size:图片帧的数量; \n 5527 * .object:图片帧数组,参数类型为{@ArkUI_ImageFrameInfo}数组; \n 5528 * \n 5529 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 5530 * .size:图片帧的数量; \n 5531 * .object:图片帧数组,参数类型为{@ArkUI_ImageFrameInfo}数组; \n 5532 * 5533 */ 5534 NODE_IMAGE_ANIMATOR_IMAGES = ARKUI_NODE_IMAGE_ANIMATOR * MAX_NODE_SCOPE_NUM, 5535 /** 5536 * @brief 控制帧动画组件的播放状态。支持属性设置,属性重置和属性获取接口。 5537 * 5538 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 5539 * .value[0].i32:控制动画的播放状态,参数类型为{@link ArkUI_AnimationStatus},默认值为初始状态。 \n 5540 * 5541 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 5542 * .value[0].i32:控制动画的播放状态,参数类型为{@link ArkUI_AnimationStatus}。 \n 5543 * 5544 */ 5545 NODE_IMAGE_ANIMATOR_STATE = 19001, 5546 /** 5547 * @brief 设置帧动画的播放时长,当数组中任意一帧图片单独设置了duration属性后,该属性设置无效。 5548 * 支持属性设置,属性重置和属性获取接口。 5549 * 5550 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 5551 * .value[0].i32:播放时长,单位为毫秒,默认值1000。 \n 5552 * 5553 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 5554 * .value[0].i32:播放时长,单位为毫秒,默认值1000。 \n 5555 * 5556 */ 5557 NODE_IMAGE_ANIMATOR_DURATION = 19002, 5558 /** 5559 * @brief 设置帧动画的播放方向。支持属性设置,属性重置和属性获取接口。 5560 * 5561 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 5562 * .value[0].i32:播放方向,0表示从第一张图片播放到最后一张,1表示从最后一张图片播放到第一张,默认值为0。 \n 5563 * 5564 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 5565 * .value[0].i32:播放方向,0表示从第一张图片播放到最后一张,1表示从最后一张图片播放到第一张。 \n 5566 * 5567 */ 5568 NODE_IMAGE_ANIMATOR_REVERSE = 19003, 5569 /** 5570 * @brief 设置图片大小是否固定为组件大小。支持属性设置,属性重置和属性获取接口。 5571 * 5572 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 5573 * .value[0].i32:设置图片大小是否固定为组件大小,1表示图片大小与组件大小一致。0表示每一张图片的width、height、top和left都要单独设置,默认值为1。\n 5574 * 5575 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 5576 * .value[0].i32:设置图片大小是否固定为组件大小,1表示图片大小与组件大小一致。0表示每一张图片的width、height、top和left都要单独设置。 \n 5577 * 5578 */ 5579 NODE_IMAGE_ANIMATOR_FIXED_SIZE = 19004, 5580 /** 5581 * @brief 设置帧动画在当前播放方向下,动画开始前和结束后的状态。支持属性设置,属性重置和属性获取接口。 5582 * 5583 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 5584 * .value[0].i32:当前播放方向下,动画开始前和结束后的状态,参数类型为{ArkUI_AnimationFillMode},默认值为FORWARDS。 \n 5585 * 5586 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 5587 * .value[0].i32:当前播放方向下,动画开始前和结束后的状态,参数类型为{ArkUI_AnimationFillMode}。 \n 5588 * 5589 */ 5590 NODE_IMAGE_ANIMATOR_FILL_MODE = 19005, 5591 /** 5592 * @brief 设置帧动画的播放次数。支持属性设置,属性重置和属性获取接口。 5593 * 5594 * 属性设置方法参数{@link ArkUI_AttributeItem}格式: \n 5595 * .value[0].i32:播放次数。 \n 5596 * 5597 * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n 5598 * .value[0].i32:播放次数。 \n 5599 * 5600 */ 5601 NODE_IMAGE_ANIMATOR_ITERATION = 19006, 5602 } ArkUI_NodeAttributeType; 5603 5604 #define MAX_COMPONENT_EVENT_ARG_NUM 12 5605 /** 5606 * @brief Defines the parameter type of the component callback event. 5607 * 5608 * @since 12 5609 */ 5610 typedef struct { 5611 /** Data array object. */ 5612 ArkUI_NumberValue data[MAX_COMPONENT_EVENT_ARG_NUM]; 5613 } ArkUI_NodeComponentEvent; 5614 5615 /** 5616 * @brief Defines the string type parameter used by the component callback event. 5617 * 5618 * @since 12 5619 */ 5620 typedef struct { 5621 /** String. */ 5622 const char* pStr; 5623 } ArkUI_StringAsyncEvent; 5624 5625 /** 5626 * @brief 定义组件事件的混合类型数据 5627 * 5628 * @since 15 5629 */ 5630 typedef struct { 5631 /** 字符串 */ 5632 const char* pStr; 5633 /** 字符串 */ 5634 const char* pExtendStr; 5635 /** 数字 */ 5636 int32_t number; 5637 } ArkUI_TextChangeEvent; 5638 5639 /** 5640 * @brief Enumerates the event types supported by the NativeNode component. 5641 * 5642 * @since 12 5643 */ 5644 typedef enum { 5645 /** 5646 * @brief Defines the gesture event type. 5647 * 5648 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5649 * {@link ArkUI_UIInputEvent}. 5650 */ 5651 NODE_TOUCH_EVENT = 0, 5652 5653 /** 5654 * @brief Defines the mount event. 5655 * 5656 * This event is triggered when the component is mounted and displayed. \n 5657 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5658 * {@link ArkUI_NodeComponentEvent}. \n 5659 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 5660 */ 5661 NODE_EVENT_ON_APPEAR, 5662 /** 5663 * @brief Defines the unmount event. 5664 * 5665 * This event is triggered when the component is unmounted and hidden. \n 5666 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5667 * {@link ArkUI_NodeComponentEvent}. \n 5668 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 5669 */ 5670 NODE_EVENT_ON_DISAPPEAR, 5671 5672 /** 5673 * @brief Defines the area change event. 5674 * 5675 * This event is triggered when the component's size, position, or any other attribute that may 5676 * affect its display area changes. \n 5677 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5678 * {@link ArkUI_NodeComponentEvent}. \n 5679 * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n 5680 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: original width of the target element, in vp. 5681 * The value is a number. \n 5682 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: original height of the target element, in vp. 5683 * The value is a number. \n 5684 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: original X coordinate of the target element's upper left corner 5685 * relative to the parent element's, in vp. The value is a number. \n 5686 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: original Y coordinate of the target element's upper left corner 5687 * relative to the parent element's, in vp. The value is a number. \n 5688 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: original X coordinate of the target element's upper left corner 5689 * relative to the page's, in vp. The value is a number. \n 5690 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: original Y coordinate of the target element's upper left corner 5691 * relative to the page's, in vp. The value is a number. \n 5692 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: new width of the target element, in vp. The value is a number. \n 5693 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: new height of the target element, in vp. The value is a number. \n 5694 * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: new X coordinate of the target element's upper left corner relative 5695 * to the parent element's, in vp. The value is a number. \n 5696 * <b>ArkUI_NodeComponentEvent.data[9].f32</b>: new Y coordinate of the target element's upper left corner relative 5697 * to the parent element's, in vp. The value is a number. \n 5698 * <b>ArkUI_NodeComponentEvent.data[10].f32</b>: new X coordinate of the target element's upper left corner relative 5699 * to the page's, in vp. The value is a number. \n 5700 * <b>ArkUI_NodeComponentEvent.data[11].f32</b>: new Y coordinate of the target element's upper left corner relative 5701 * to the page's, in vp. The value is a number. \n 5702 */ 5703 NODE_EVENT_ON_AREA_CHANGE, 5704 /** 5705 * @brief Defines the focus event. 5706 * 5707 * This event is triggered when the component obtains the focus. \n 5708 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5709 * {@link ArkUI_NodeComponentEvent}. \n 5710 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 5711 */ 5712 NODE_ON_FOCUS, 5713 /** 5714 * @brief Defines the blur event. 5715 * 5716 * This event is triggered when the component loses the focus. \n 5717 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5718 * {@link ArkUI_NodeComponentEvent}. \n 5719 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 5720 */ 5721 NODE_ON_BLUR, 5722 /** 5723 * @brief Defines the click event. 5724 * 5725 * This event is triggered when the component is clicked. \n 5726 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5727 * {@link ArkUI_NodeComponentEvent}. \n 5728 * {@link ArkUI_NodeComponentEvent} contains 12 parameters:\n 5729 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: X coordinate of the click relative to the upper left corner of the 5730 * clicked component's original area, in vp. \n 5731 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Y coordinate of the click relative to the upper left corner of the 5732 * clicked component's original area, in vp. \n 5733 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: event timestamp. It is the interval between the time when the event 5734 * is triggered and the time when the system starts, in microseconds. \n 5735 * <b>ArkUI_NodeComponentEvent.data[3].i32</b>: event input device. The value <b>1</b> indicates the mouse, 5736 * <b>2</b> indicates the touchscreen, and <b>4</b> indicates the key. \n 5737 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: X coordinate of the click relative to the upper left corner of the 5738 * application window, in vp. \n 5739 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: Y coordinate of the click relative to the upper left corner of the 5740 * application window, in vp. \n 5741 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: X coordinate of the click relative to the upper left corner of the 5742 * application screen, in vp. \n 5743 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: Y coordinate of the click relative to the upper left corner of the 5744 * application screen, in vp. \n 5745 */ 5746 NODE_ON_CLICK, 5747 /** 5748 * @brief Defines event interception. 5749 * 5750 * This event is triggered when the component is touched. \n 5751 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5752 * {@link ArkUI_UIInputEvent}. \n 5753 */ 5754 NODE_ON_TOUCH_INTERCEPT, 5755 /** 5756 * @brief Defines the visible area change event. 5757 * 5758 * This event is triggered when the ratio of the component's visible area to its total area is greater than or less 5759 * than the threshold. 5760 * Before registering this event, you must set <b>NODE_VISIBLE_AREA_CHANGE_RATIO</b>. \n 5761 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5762 * {@link ArkUI_NodeComponentEvent}. \n 5763 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 5764 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area 5765 * changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates a 5766 * decrease. \n 5767 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area when this 5768 * callback is invoked. \n 5769 */ 5770 NODE_EVENT_ON_VISIBLE_AREA_CHANGE, 5771 /** 5772 * @brief Defines the event triggered when the mouse pointer is moved over or away from the component. 5773 * 5774 \n 5775 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5776 * {@link ArkUI_NodeComponentEvent}. \n 5777 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 5778 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether the mouse pointer is hovered over the component. 5779 * The value <b>1</b> indicates that the mouse pointer is hovered over the component, and <b>0</b> indicates that 5780 * the mouse pointer is moved away from the component. \n 5781 */ 5782 NODE_ON_HOVER, 5783 /** 5784 * @brief Defines the click event. 5785 * 5786 * This event is triggered when the component is clicked by a mouse device button or when the mouse pointer moves 5787 * within the component. \n 5788 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5789 * {@link ArkUI_UIInputEvent}. \n 5790 */ 5791 NODE_ON_MOUSE, 5792 /** 5793 * @brief Defines the mount event. 5794 * 5795 * This event is triggered when the component is mounted. \n 5796 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5797 * {@link ArkUI_NodeComponentEvent}. \n 5798 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 5799 */ 5800 NODE_EVENT_ON_ATTACH, 5801 /** 5802 * @brief Defines the unmount event. 5803 * 5804 * This event is triggered when the component is unmount. \n 5805 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5806 * {@link ArkUI_NodeComponentEvent}. \n 5807 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 5808 */ 5809 NODE_EVENT_ON_DETACH, 5810 /** 5811 * @brief 无障碍支持操作事件触发。 5812 * 5813 * 触发该事件的条件:已设置无障碍操作类型,并进行相应操作。\n 5814 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 5815 * {@link ArkUI_NodeComponentEvent}中包含1个参数: \n 5816 * <b>ArkUI_NodeComponentEvent.data[0].u32</b>: 触发回调的操作类型,参数类型{@link ArkUI_AccessibilityActionType} \n 5817 * 5818 */ 5819 NODE_ON_ACCESSIBILITY_ACTIONS, 5820 5821 /** 5822 * @brief Notifies the listener of the interaction state prior to a drop and drop operation. 5823 * 5824 * This event is triggered when a drag operation is about to start on a draggable item. \n 5825 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5826 * {@link ArkUI_NodeComponentEvent}. \n 5827 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 5828 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: corresponds to {@link ArkUI_PreDragStatus}. \n 5829 */ 5830 NODE_ON_PRE_DRAG = 14, 5831 /** 5832 * @brief Called when the user starts to drag an ite 5833 * 5834 * A drag operation is recognized only when the dragged item is moved far enough. \n 5835 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 5836 * {@link ArkUI_NodeEvent} object. \n 5837 */ 5838 NODE_ON_DRAG_START = 15, 5839 /** 5840 * @brief Called when a dragged item enters the boundaries of the current component. 5841 * 5842 * The current component refers to the component that listens for this event. \n 5843 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 5844 * {@link ArkUI_NodeEvent} object. \n 5845 */ 5846 NODE_ON_DRAG_ENTER = 16, 5847 /** 5848 * @brief Called when a dragged item moves in the current component. 5849 * 5850 * The current component refers to the component that listens for this event. \n 5851 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 5852 * {@link ArkUI_NodeEvent} object. \n 5853 */ 5854 NODE_ON_DRAG_MOVE = 17, 5855 /** 5856 * @brief Called when a dragged item leaves the boundaries of the current component. 5857 * 5858 * The current component refers to the component that listens for this event. \n 5859 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 5860 * {@link ArkUI_NodeEvent} object. \n 5861 */ 5862 NODE_ON_DRAG_LEAVE = 18, 5863 /** 5864 * @brief Called when a dragged item is dropped on the current component. 5865 * The component can obtain the drag data for processing through the callback. 5866 * 5867 * The current component refers to the component that listens for this event. \n 5868 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 5869 * {@link ArkUI_NodeEvent} object. \n 5870 */ 5871 NODE_ON_DROP = 19, 5872 /** 5873 * @brief Called when a drag operation ends. 5874 * The drag source can obtain the drag result by registering this callback. 5875 * 5876 * A drag operation ends when the dragged item is released. 5877 * When the event callback occurs, the {@link ArkUI_DragEvent} object can be obtained from the 5878 * {@link ArkUI_NodeEvent} object. \n 5879 */ 5880 NODE_ON_DRAG_END = 20, 5881 /** 5882 * @brief Defines the event triggered when a key event occurs. 5883 * 5884 * The callback can be triggered during interactions with a focused window using an external keyboard or other input 5885 * device. \n 5886 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5887 * {@link ArkUI_NodeComponentEvent}. \n 5888 * 5889 * @since 14 5890 */ 5891 NODE_ON_KEY_EVENT = 21, 5892 /** 5893 * @brief Defines the event triggered before the input method responds to the key action. 5894 * 5895 * If the return value of this callback is <b>true</b>, it is considered that the key event has been consumed, and 5896 * subsequent event callbacks (<b>keyboardShortcut</b>, input method events, <b>onKeyEvent</b>) will be intercepted 5897 * and no longer triggered. 5898 * The callback can be triggered during interactions with a focused window using an external keyboard or other input 5899 * device. \n 5900 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5901 * {@link ArkUI_NodeComponentEvent}. \n 5902 * 5903 * @since 14 5904 */ 5905 NODE_ON_KEY_PRE_IME = 22, 5906 /** 5907 * @brief Defines the event triggered when the bound component receives a focus axis event after gaining focus. 5908 * 5909 * The event callback is triggered by interactions with a joystick and a focused component. \n 5910 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5911 * {@link ArkUI_UIInputEvent}. \n 5912 * 5913 * @since 15 5914 */ 5915 NODE_ON_FOCUS_AXIS = 23, 5916 5917 5918 /** 5919 * @brief Dispatch key event on the component node. 5920 * 5921 * When the component node receives a key event, this callback will be triggered instead of dispatching event to its 5922 * children. \n 5923 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5924 * {@link ArkUI_NodeComponentEvent}. \n 5925 * 5926 * @since 16 5927 */ 5928 NODE_DISPATCH_KEY_EVENT = 24, 5929 5930 /** 5931 * @brief Defines the hover event. 5932 * 5933 * The event is triggered when the pointer is hovered by a pen device. 5934 * within the component. \n 5935 * When the event callback occurs, the {@link ArkUI_NodeEvent} object can be obtained from the 5936 * {@link ArkUI_UIInputEvent} object. \n 5937 * @since16 5938 */ 5939 NODE_ON_HOVER_MOVE = 29, 5940 5941 /** 5942 * @brief 文本设置TextDataDetectorConfig且识别成功时,触发onDetectResultUpdate回调。 5943 * 5944 * 触发该事件的条件:文本设置TextDataDetectorConfig且识别成功后。\n 5945 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_StringAsyncEvent}。\n 5946 * {@link ArkUI_StringAsyncEvent}中包含1个参数:\n 5947 * <b>ArkUI_StringAsyncEvent.pStr</b>:表示文本识别的结果,Json格式。\n 5948 * 5949 */ 5950 NODE_TEXT_ON_DETECT_RESULT_UPDATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT, 5951 /** 5952 * @brief Defines the image loading success event. 5953 * 5954 * This event is triggered when an image is successfully loaded or decoded. \n 5955 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5956 * {@link ArkUI_NodeComponentEvent}. \n 5957 * {@link ArkUI_NodeComponentEvent} contains nine parameters:\n 5958 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: loading status. The value <b>0</b> indicates that the image is 5959 * loaded successfully, and the value <b>1</b> indicates that the image is decoded successfully. \n 5960 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: width of the image, in px. \n 5961 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: height of the image, in px. \n 5962 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: width of the component, in px. \n 5963 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: height of the component, in px. \n 5964 * <b>ArkUI_NodeComponentEvent.data[5].f32</b>: offset of the rendered content relative to the component on the 5965 * x-axis, in px. \n 5966 * <b>ArkUI_NodeComponentEvent.data[6].f32</b>: offset of the rendered content relative to the component on the 5967 * y-axis, in px. \n 5968 * <b>ArkUI_NodeComponentEvent.data[7].f32</b>: actual rendered width of the image, in px. \n 5969 * <b>ArkUI_NodeComponentEvent.data[8].f32</b>: actual rendered height of the image, in px. \n 5970 */ 5971 NODE_IMAGE_ON_COMPLETE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE, 5972 /** 5973 * @brief Defines the image loading failure event. 5974 * 5975 * This event is triggered when an error occurs during image loading. \n 5976 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5977 * {@link ArkUI_NodeComponentEvent}. \n 5978 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 5979 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>error code:\n 5980 * 401: The image could not be obtained because the image path is invalid. \n 5981 * 103101: The image format is not supported. \n 5982 */ 5983 NODE_IMAGE_ON_ERROR, 5984 /** 5985 * @brief Defines the SVG animation playback completion event. 5986 * 5987 * This event is triggered when the animation playback in the loaded SVG image is complete. \n 5988 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5989 * {@link ArkUI_NodeComponentEvent}. \n 5990 * {@link ArkUI_NodeComponentEvent} does not contain parameters. 5991 */ 5992 NODE_IMAGE_ON_SVG_PLAY_FINISH, 5993 /** 5994 * @brief Defines image download process event. 5995 * 5996 * This event is triggered when downloading webpage images from page components.\n 5997 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 5998 * {@link ArkUI_NodeComponentEvent}. \n 5999 * {@link ArkUI_NodeComponentEvent} contains two parameter:\n 6000 * <b>ArkUI_NodeComponentEvent.data[0].u32</b>: the num of bytes downloaded. \n 6001 * <b>ArkUI_NodeComponentEvent.data[1].u32</b>: the total number of bytes to download. \n 6002 */ 6003 NODE_IMAGE_ON_DOWNLOAD_PROGRESS, 6004 /** 6005 * @brief Defines the event triggered when the toggle status changes. 6006 * 6007 \n 6008 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6009 * {@link ArkUI_NodeComponentEvent}. \n 6010 * {@link ArkUI_NodeComponentEvent} contains one parameter: \n 6011 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: toggle status. <b>1</b>: on; <b>0</b>: off. 6012 * 6013 */ 6014 NODE_TOGGLE_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE, 6015 /** 6016 * @brief Defines the event triggered when the text input content changes. 6017 * 6018 \n 6019 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6020 * {@link ArkUI_StringAsyncEvent}. \n 6021 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6022 * <b>ArkUI_StringAsyncEvent.pStr</b>: text input. 6023 * 6024 */ 6025 NODE_TEXT_INPUT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT, 6026 /** 6027 * @brief Defines the event triggered when the Enter key of the text input method is pressed. 6028 * 6029 \n 6030 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6031 * {@link ArkUI_NodeComponentEvent}. \n 6032 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6033 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Enter key type of the input method. 6034 * 6035 */ 6036 NODE_TEXT_INPUT_ON_SUBMIT, 6037 /** 6038 * @brief Defines the event triggered when the cut button on the pasteboard, which displays when the text box 6039 * is long pressed, is clicked. 6040 * 6041 \n 6042 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6043 * {@link ArkUI_StringAsyncEvent}. \n 6044 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6045 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is cut. 6046 * 6047 */ 6048 NODE_TEXT_INPUT_ON_CUT, 6049 /** 6050 * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box 6051 * is long pressed, is clicked. 6052 * 6053 \n 6054 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6055 * {@link ArkUI_StringAsyncEvent}. \n 6056 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6057 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted 6058 * 6059 */ 6060 NODE_TEXT_INPUT_ON_PASTE, 6061 /** 6062 * @brief Defines the event triggered when the text selection position changes. 6063 * 6064 \n 6065 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6066 * {@link ArkUI_NodeComponentEvent}. \n 6067 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6068 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n 6069 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n 6070 * 6071 */ 6072 NODE_TEXT_INPUT_ON_TEXT_SELECTION_CHANGE, 6073 6074 /** 6075 * @brief 输入状态变化时,触发该回调。 6076 * 6077 * 触发该事件的条件:输入状态变化时。\n 6078 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 6079 * {@link ArkUI_NodeComponentEvent}中包含1个参数:\n 6080 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>:表示true表示正在输入。\n 6081 * 6082 */ 6083 NODE_TEXT_INPUT_ON_EDIT_CHANGE, 6084 6085 /** 6086 * @brief textInput输入内容发生变化时触发该事件。 6087 * 6088 * 触发该事件的条件:输入内容发生变化时。\n 6089 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 6090 * {@link ArkUI_NodeComponentEvent}中包含2个参数:\n 6091 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>:表示文本的宽度。\n 6092 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>:表示文本的高度。\n 6093 * 6094 */ 6095 NODE_TEXT_INPUT_ON_CONTENT_SIZE_CHANGE, 6096 6097 /** 6098 * @brief Defines the event triggered when matching with the regular expression specified by 6099 * <b>NODE_TEXT_INPUT_INPUT_FILTER</b> fails. 6100 * 6101 \n 6102 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6103 * {@link ArkUI_StringAsyncEvent}. \n 6104 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6105 * <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails. \n 6106 * 6107 */ 6108 NODE_TEXT_INPUT_ON_INPUT_FILTER_ERROR, 6109 /** 6110 * @brief 文本内容滚动时,触发该回调。 6111 * 6112 * 触发该事件的条件:文本内容滚动时。\n 6113 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 6114 * {@link ArkUI_NodeComponentEvent}中包含2个参数:\n 6115 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>:表示文本在内容区的横坐标偏移。\n 6116 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>:表示文本在内容区的纵坐标偏移。\n 6117 * 6118 */ 6119 NODE_TEXT_INPUT_ON_CONTENT_SCROLL, 6120 /** 6121 * @brief 定义在将要输入时,触发回调的枚举值。 6122 * 6123 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n 6124 * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:插入的值的位置信息。\n 6125 * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:插入的值。 6126 * @return 在返回true时,表示正常插入,返回false时,表示不插入。 6127 * 可通过OH_ArKUI_NodeEvent_SetReturnValue设置返回值。\n 6128 */ 6129 NODE_TEXT_INPUT_ON_WILL_INSERT = 7009, 6130 /** 6131 * @brief 定义在输入完成时,触发回调的枚举值。 6132 * 6133 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n 6134 * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:插入的值的位置信息。\n 6135 * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:插入的值。 6136 */ 6137 NODE_TEXT_INPUT_ON_DID_INSERT = 7010, 6138 /** 6139 * @brief 定义在将要删除时,触发回调的枚举值。 6140 * 6141 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n 6142 * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:删除的值的位置信息。\n 6143 * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.i32:删除值的方向。\n 6144 * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:删除的值。 6145 * @return 在返回true时,表示正常插入,返回false时,表示不插入。\n 6146 * 可通过OH_ArKUI_NodeEvent_SetReturnValue设置返回值。\n 6147 */ 6148 NODE_TEXT_INPUT_ON_WILL_DELETE = 7011, 6149 /** 6150 * @brief 定义在删除完成时,触发回调的枚举值。 6151 * 6152 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n 6153 * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:删除的值的位置信息。\n 6154 * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.i32:删除值的方向。\n 6155 * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:删除的值。 6156 */ 6157 NODE_TEXT_INPUT_ON_DID_DELETE = 7012, 6158 /** 6159 * @brief 定义textInput组件在内容改变时(包含预上屏内容),触发回调的枚举值。 6160 * 6161 * 事件回调发生时,联合类型{@link ArkUI_NodeEvent}为{@link ArkUI_TextChangeEvent}。\n 6162 * {@link ArkUI_TextChangeEvent}包含参数:\n 6163 * <b>ArkUI_TextChangeEvent.pStr</b>: textInput的内容。 6164 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: textInput的预上屏内容。 6165 * <b>ArkUI_TextChangeEvent.number</b>: textInput的预上屏起始位置。 6166 * 6167 * @since 15 6168 */ 6169 NODE_TEXT_INPUT_ON_CHANGE_WITH_PREVIEW_TEXT = 7013, 6170 /** 6171 * @brief Defines the event triggered when the input in the text box changes. 6172 * 6173 \n 6174 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6175 * {@link ArkUI_StringAsyncEvent}. \n 6176 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6177 * <b>ArkUI_StringAsyncEvent.pStr</b>: text entered. 6178 * 6179 */ 6180 NODE_TEXT_AREA_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA, 6181 /** 6182 * @brief Defines the event triggered when the paste button on the pasteboard, which displays when the text box is 6183 * long pressed, is clicked. 6184 * 6185 \n 6186 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6187 * {@link ArkUI_StringAsyncEvent}. \n 6188 * {@link ArkUI_StringAsyncEvent} contains one parameter:\n 6189 * <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted 6190 * 6191 */ 6192 NODE_TEXT_AREA_ON_PASTE, 6193 /** 6194 * @brief Defines the event triggered when the text selection position changes. 6195 * 6196 \n 6197 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6198 * {@link ArkUI_NodeComponentEvent}. \n 6199 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6200 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area. \n 6201 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area. \n 6202 * 6203 */ 6204 NODE_TEXT_AREA_ON_TEXT_SELECTION_CHANGE, 6205 /** 6206 * @brief 设置NODE_TEXT_AREA_INPUT_FILTER,正则匹配失败时触发。 6207 * 6208 * 触发该事件的条件:正则匹配失败时。\n 6209 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_StringAsyncEvent}。\n 6210 * {@link ArkUI_StringAsyncEvent}中包含1个参数:\n 6211 * <b>ArkUI_StringAsyncEvent.pStr</b>:表示正则匹配失败时,被过滤的内容。\n 6212 * 6213 */ 6214 NODE_TEXT_AREA_ON_INPUT_FILTER_ERROR, 6215 /** 6216 * @brief 文本内容滚动时,触发该回调。 6217 * 6218 * 触发该事件的条件:文本内容滚动时。\n 6219 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 6220 * {@link ArkUI_NodeComponentEvent}中包含2个参数:\n 6221 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>:表示文本在内容区的横坐标偏移。\n 6222 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>:表示文本在内容区的纵坐标偏移。\n 6223 * 6224 */ 6225 NODE_TEXT_AREA_ON_CONTENT_SCROLL, 6226 6227 /** 6228 * @brief 输入状态变化时,触发该回调。 6229 * 6230 * 触发该事件的条件:输入状态变化时。\n 6231 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 6232 * {@link ArkUI_NodeComponentEvent}中包含1个参数:\n 6233 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>:表示true表示正在输入。\n 6234 * 6235 */ 6236 NODE_TEXT_AREA_ON_EDIT_CHANGE, 6237 6238 /** 6239 * @brief textArea按下输入法回车键触发该事件。 6240 * 6241 * 触发该事件的条件:按下输入法回车键。keyType为ARKUI_ENTER_KEY_TYPE_NEW_LINE时不触发\n 6242 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 6243 * {@link ArkUI_NodeComponentEvent}中包含1个参数:\n 6244 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>:输入法回车键类型。 6245 * 6246 */ 6247 NODE_TEXT_AREA_ON_SUBMIT, 6248 6249 /** 6250 * @brief textArea输入内容发生变化时触发该事件。 6251 * 6252 * 触发该事件的条件:输入内容发生变化时。\n 6253 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 6254 * {@link ArkUI_NodeComponentEvent}中包含2个参数:\n 6255 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>:表示文本的宽度。\n 6256 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>:表示文本的高度。\n 6257 * 6258 */ 6259 NODE_TEXT_AREA_ON_CONTENT_SIZE_CHANGE, 6260 /** 6261 * @brief 定义在将要输入时,触发回调的枚举值。 6262 * 6263 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n 6264 * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:插入的值的位置信息。\n 6265 * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:插入的值。 6266 * @return 在返回true时,表示正常插入,返回false时,表示不插入。 6267 * 可通过OH_ArKUI_NodeEvent_SetReturnValue设置返回值。\n 6268 */ 6269 NODE_TEXT_AREA_ON_WILL_INSERT = 8008, 6270 /** 6271 * @brief 定义在输入完成时,触发回调的枚举值。 6272 * 6273 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n 6274 * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:插入的值的位置信息。\n 6275 * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:插入的值。 6276 */ 6277 NODE_TEXT_AREA_ON_DID_INSERT = 8009, 6278 /** 6279 * @brief 定义在将要删除时,触发回调的枚举值。 6280 * 6281 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n 6282 * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:删除的值的位置信息。\n 6283 * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.i32:删除值的方向。\n 6284 * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:删除的值。 6285 * @return 在返回true时,表示正常插入,返回false时,表示不插入。\n 6286 * 可通过OH_ArKUI_NodeEvent_SetReturnValue设置返回值。\n 6287 */ 6288 NODE_TEXT_AREA_ON_WILL_DELETE = 8010, 6289 /** 6290 * @brief 定义在删除完成时,触发回调的枚举值。 6291 * 6292 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}。\n 6293 * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:删除的值的位置信息。\n 6294 * 通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.i32:删除值的方向。\n 6295 * 通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:删除的值。 6296 */ 6297 NODE_TEXT_AREA_ON_DID_DELETE = 8011, 6298 /** 6299 * @brief 定义textArea组件在内容改变时(包含预上屏内容),触发回调的枚举值。 6300 * 6301 * 事件回调发生时,联合类型{@link ArkUI_NodeEvent}为{@link ArkUI_TextChangeEvent}。\n 6302 * {@link ArkUI_TextChangeEvent}包含参数:\n 6303 * <b>ArkUI_TextChangeEvent.pStr</b>: textArea的内容。 6304 * <b>ArkUI_TextChangeEvent.pExtendStr</b>: textArea的预上屏内容。 6305 * <b>ArkUI_TextChangeEvent.number</b>: textArea的预上屏起始位置。 6306 * 6307 * @since 15 6308 */ 6309 NODE_TEXT_AREA_ON_CHANGE_WITH_PREVIEW_TEXT = 8012, 6310 /** 6311 * @brief Defines the event triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX</b> component changes. 6312 * 6313 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6314 * {@link ArkUI_NodeComponentEvent}. \n 6315 * <b>ArkUI_NodeComponentEvent.data[0].i32</b><b>1</b>: selected; <b>0</b>: not selected.\n 6316 */ 6317 NODE_CHECKBOX_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX, 6318 6319 /** 6320 * @brief Defines the event triggered when a date is selected in the <b>ARKUI_NODE_DATE_PICKER</b> component. 6321 * 6322 \n 6323 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6324 * {@link ArkUI_NodeComponentEvent}. \n 6325 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 6326 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: year of the selected date. \n 6327 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: month of the selected date. Value range: [0-11]. \n 6328 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: day of the selected date. \n 6329 */ 6330 NODE_DATE_PICKER_EVENT_ON_DATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER, 6331 6332 /** 6333 * @brief Defines the event triggered when a time is selected in the <b>ARKUI_NODE_TIME_PICKER</b> component. 6334 * 6335 \n 6336 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6337 * {@link ArkUI_NodeComponentEvent}. \n 6338 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6339 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: hour of the selected time. Value range: [0-23]. \n 6340 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: minute of the selected time. Value range: [0-59]. \n 6341 */ 6342 NODE_TIME_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER, 6343 6344 /** 6345 * @brief Defines the event triggered when an item is selected in the <b>ARKUI_NODE_TEXT_PICKER</b> component. 6346 * 6347 \n 6348 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6349 * {@link ArkUI_NodeComponentEvent}. \n 6350 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6351 * <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item. \n 6352 */ 6353 NODE_TEXT_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER, 6354 6355 /** 6356 * @brief Defines the event triggered when an item is selected and scrolling has stopped in the 6357 * <b>ARKUI_NODE_TEXT_PICKER</b> component. 6358 * 6359 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6360 * {@link ArkUI_NodeComponentEvent}. \n 6361 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6362 * <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item. \n 6363 * 6364 * @since 14 6365 */ 6366 NODE_TEXT_PICKER_EVENT_ON_SCROLL_STOP = 15001, 6367 6368 /** 6369 * @brief Defines the event triggered when a date is selected in the <b>NODE_CALENDAR_PICKER</b>. 6370 * 6371 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6372 * {@link ArkUI_NodeComponentEvent}. \n 6373 * <b>ArkUI_NodeComponent.data[0].u32</b>: year of the selected date. \n 6374 * <b>ArkUI_NodeComponent.data[1].u32</b>: month of the selected date. \n 6375 * <b>ArkUI_NodeComponent.data[2].u32</b>: day of the selected date. \n 6376 */ 6377 NODE_CALENDAR_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER, 6378 6379 /** 6380 * @brief Defines the event triggered when the <b>ARKUI_NODE_SLIDER</b> component is dragged or clicked. 6381 * 6382 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6383 * {@link ArkUI_NodeComponentEvent}. \n 6384 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6385 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current slider value. \n 6386 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: state triggered by the event.\n 6387 */ 6388 NODE_SLIDER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER, 6389 6390 /** 6391 * @brief Defines the event triggered when the <b>ARKUI_NODE_RADIO</b> component is dragged or clicked. 6392 * 6393 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6394 * {@link ArkUI_NodeComponentEvent}. \n 6395 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6396 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: status of the radio button. \n 6397 */ 6398 NODE_RADIO_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO, 6399 6400 /** 6401 * @brief Defines the callback triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX_GROOUP</b> 6402 * or checkbox changes. 6403 * 6404 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6405 * {@link ArkUI_StringAsyncEvent}. \n 6406 * <b>ArkUI_StringAsyncEvent.pStr</b> 6407 * Name: The names of the selected checkboxes; 6408 * Status: 6409 * 0: All checkboxes are selected. 6410 * 1: Some checkboxes are selected. 6411 * 2: No checkboxes are selected. \n 6412 * 6413 * @since 15 6414 */ 6415 NODE_CHECKBOX_GROUP_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP, 6416 6417 /** 6418 * @brief Defines the event triggered when the index of the currently displayed element of this 6419 * <b>ARKUI_NODE_SWIPER</b> instance changes. 6420 * 6421 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6422 * {@link ArkUI_NodeComponentEvent}. \n 6423 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6424 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 6425 */ 6426 NODE_SWIPER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER, 6427 6428 /** 6429 * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance starts. 6430 * 6431 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6432 * {@link ArkUI_NodeComponentEvent}. \n 6433 * {@link ArkUI_NodeComponentEvent} contains five parameters: \n 6434 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 6435 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the target element to switch to. \n 6436 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: offset of the currently displayed element relative to the 6437 * start position of the swiper along the main axis. \n 6438 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: offset of the target element relative to the start position 6439 * of the swiper along the main axis. \n 6440 * <b>ArkUI_NodeComponentEvent.data[4].f32</b>: hands-off velocity. \n 6441 */ 6442 NODE_SWIPER_EVENT_ON_ANIMATION_START, 6443 6444 /** 6445 * @brief Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance ends. 6446 * 6447 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6448 * {@link ArkUI_NodeComponentEvent}. \n 6449 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6450 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 6451 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the 6452 * start position of the swiper along the main axis. \n 6453 */ 6454 NODE_SWIPER_EVENT_ON_ANIMATION_END, 6455 6456 /** 6457 * @brief Defines the event triggered on a frame-by-frame basis when the page is turned by a swipe in this 6458 * <b>ARKUI_NODE_SWIPER</b> instance. 6459 * 6460 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6461 * {@link ArkUI_NodeComponentEvent}. \n 6462 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6463 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element. \n 6464 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the 6465 * start position of the swiper along the main axis. \n 6466 */ 6467 NODE_SWIPER_EVENT_ON_GESTURE_SWIPE, 6468 6469 /** 6470 * @brief Defines the event triggered when content in the swiper component scrolls. 6471 * Instructions: \n 6472 * 1. This API does not work when {@link ArkUI_SwiperDisplayModeType} is set to 6473 * <b>ARKUI_SWIPER_DISPLAY_MODE_AUTO_LINEAR</b>. \n 6474 * 2. This API does not work when <b>prevMargin</b> and <b>nextMargin</b> are set in such a way that the 6475 * swiper frontend and backend display the same page during loop playback. \n 6476 * 3. During page scrolling, the </b>ContentDidScrollCallback</b> callback is invoked for all pages in the viewport 6477 * on a frame-by-frame basis. \n 6478 * For example, when there are two pages whose subscripts are 0 and 1 in the viewport, two callbacks whose indexes 6479 * are 0 and 1 are invoked in each frame. \n 6480 * 4. When the </b>swipeByGroup</b> parameter of the </b>displayCount</b> attribute is set to </b>true</b>, 6481 * the callback is invoked for all pages in a group if any page in the group is within the viewport. \n \n 6482 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6483 * {@link ArkUI_NodeComponentEvent}. \n 6484 * {@link ArkUI_NodeComponentEvent} contains four parameters: \n 6485 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the swiper component, which is the same as the index in the 6486 * <b>onChange</b> event. \n 6487 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of a page in the viewport. \n 6488 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: position of the page relative to the start position of the swiper 6489 * main axis (start position of the page corresponding to <b>selectedIndex</b>). \n 6490 * <b>ArkUI_NodeComponentEvent.data[3].f32</b>: length of the page in the main axis direction. \n 6491 */ 6492 NODE_SWIPER_EVENT_ON_CONTENT_DID_SCROLL, 6493 6494 /** 6495 * @brief Defines the event triggered when content in the swiper component will scroll. 6496 * Instructions: Before page scrolling, the </b>ContentWillScrollCallback</b> callback is invoked. \n \n 6497 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6498 * {@link ArkUI_NodeComponentEvent}. \n 6499 * {@link ArkUI_NodeComponentEvent} contains three parameters:\n 6500 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index value of the current child page. \n 6501 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: the index value of the child page that will display. \n 6502 * <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the sliding offset of each frame. 6503 * Positive numbers indicating slide backward(e.g. from index=1 to index=0), negative numbers indicating 6504 * slide forward(e.g. from index=0 to index=1). \n 6505 */ 6506 NODE_SWIPER_EVENT_ON_CONTENT_WILL_SCROLL = 1001007, 6507 6508 /** 6509 * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component scrolls. 6510 * 6511 * Notes for triggering the event:\n 6512 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 6513 * settings, such as keyboard and mouse operations. \n 6514 * 2. Scrolling can be initiated by calling the controller API. \n 6515 * 3. The out-of-bounds bounce effect is supported. \n 6516 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6517 * {@link ArkUI_NodeComponentEvent}. \n 6518 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6519 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: horizontal scrolling offset. \n 6520 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: vertical scrolling offset. \n 6521 */ 6522 NODE_SCROLL_EVENT_ON_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL, 6523 /** 6524 * @brief Defines the event triggered when each frame scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component. 6525 * 6526 * Notes for triggering the event:\n 6527 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 6528 * settings, such as keyboard and mouse operations. \n 6529 * 2. This event is not triggered when the controller API is called. \n 6530 * 3. This event does not support the out-of-bounds bounce effect. \n 6531 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6532 * {@link ArkUI_NodeComponentEvent}. \n 6533 * {@link ArkUI_NodeComponentEvent} contains two parameters:\n 6534 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: amount to scroll by. \n 6535 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scrolling state. \n 6536 * <b>::ArkUI_NodeComponentEvent</b> contains one return value:\n 6537 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The event handler can work out the amount by which the component 6538 * needs to scroll based on the real-world situation and return the result in this parameter. \n 6539 */ 6540 NODE_SCROLL_EVENT_ON_SCROLL_FRAME_BEGIN, 6541 /** 6542 * @brief Defines the event triggered when the container is about to scroll. 6543 * 6544 * Notes for triggering the event:\n 6545 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 6546 * settings, such as keyboard and mouse operations. \n 6547 * 2. Scrolling can be initiated by calling the controller API. \n 6548 * 3. The out-of-bounds bounce effect is supported. \n 6549 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6550 * {@link ArkUI_NodeComponentEvent}. \n 6551 * {@link ArkUI_NodeComponentEvent} contains three parameters: \n 6552 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame, in vp. The offset is positive when 6553 * the content is scrolled left and negative when the content is scrolled right. \n 6554 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: scroll offset of each frame, in vp. The offset is positive when 6555 * the content is scrolled up and negative when the content is scrolled down. \n 6556 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: current scroll state. 6557 * The parameter type is {@link ArkUI_ScrollState}. \n 6558 */ 6559 NODE_SCROLL_EVENT_ON_WILL_SCROLL, 6560 /** 6561 * @brief Defines the event triggered when the container scrolls. 6562 * 6563 * Notes for triggering the event:\n 6564 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 6565 * settings, such as keyboard and mouse operations. \n 6566 * 2. Scrolling can be initiated by calling the controller API. \n 6567 * 3. The out-of-bounds bounce effect is supported. \n 6568 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6569 * {@link ArkUI_NodeComponentEvent}. \n 6570 * {@link ArkUI_NodeComponentEvent} contains three parameters: \n 6571 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame, in vp. The offset is positive when the 6572 * content is scrolled left and negative when the content is scrolled right. \n 6573 * <b>ArkUI_NodeComponentEvent.data[1].f32</b>: scroll offset of each frame, in vp. The offset is positive when the 6574 * content is scrolled up and negative when the content is scrolled down. \n 6575 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: current scroll state. The parameter type is 6576 * {@link ArkUI_ScrollState}. \n 6577 */ 6578 NODE_SCROLL_EVENT_ON_DID_SCROLL, 6579 /** 6580 * @brief Defines the event triggered when the container starts scrolling. 6581 * 6582 * Notes for triggering the event:\n 6583 * 1. This event is triggered when scrolling is started, with support for other input settings, such as keyboard 6584 * and mouse operations. \n 6585 * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n 6586 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6587 * {@link ArkUI_NodeComponentEvent}. \n 6588 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 6589 */ 6590 NODE_SCROLL_EVENT_ON_SCROLL_START, 6591 /** 6592 * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component stops. 6593 * 6594 * Notes for triggering the event:\n 6595 * 1. This event is triggered when scrolling is stopped by the <b>ARKUI_NODE_SCROLL</b> component or other input 6596 * settings, such as keyboard and mouse operations. \n 6597 * 2. This event is triggered when the controller API is called, accompanied by a transition animation. \n 6598 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6599 * {@link ArkUI_NodeComponentEvent}. \n 6600 * {@link ArkUI_NodeComponentEvent} does not contain parameters. \n 6601 */ 6602 NODE_SCROLL_EVENT_ON_SCROLL_STOP, 6603 /** 6604 * @brief Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component reaches 6605 * one of the edges. 6606 * 6607 * Notes for triggering the event:\n 6608 * 1. This event is triggered when scrolling reaches the edge after being started by the <b>ARKUI_NODE_SCROLL</b> 6609 * component or other input settings, such as keyboard and mouse operations. \n 6610 * 2. Scrolling can be initiated by calling the controller API. \n 6611 * 3. The out-of-bounds bounce effect is supported. \n 6612 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6613 * {@link ArkUI_NodeComponentEvent}. \n 6614 * {@link ArkUI_NodeComponentEvent} contains one parameter. \n 6615 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: edge (top, bottom, left, or right) that the scrolling reaches. \n 6616 */ 6617 NODE_SCROLL_EVENT_ON_SCROLL_EDGE, 6618 /** 6619 * @brief Define that a callback is triggered 6620 * when the scrolling container component reaches the start position. 6621 * Condition for triggering the event: \n 6622 * Triggered when the component reaches the start position. \n 6623 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is 6624 * {@Link ArkUI_NodeComponentEvent}. \n 6625 * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n 6626 */ 6627 NODE_SCROLL_EVENT_ON_REACH_START, 6628 /** 6629 * @brief Define that a callback is triggered when the scrolling container component ends. \n 6630 * Condition for triggering the event: \n 6631 * Triggered when the component reaches the end. \n 6632 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 6633 * {@Link ArkUI_NodeComponentEvent}. \n 6634 * {@Link ArkUI_NodeComponentEvent} contains no parameters. \n 6635 */ 6636 NODE_SCROLL_EVENT_ON_REACH_END, 6637 6638 /** 6639 * @brief Defines the event triggered when a child component enters or leaves the list display area. 6640 * 6641 * Notes for triggering the event:\n 6642 * This event is triggered once when the list is initialized and when the index of the first child component or the 6643 * next child component in the list display area changes. \n 6644 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6645 * {@link ArkUI_NodeComponentEvent}. \n 6646 * {@link ArkUI_NodeComponentEvent} contains three parameters: \n 6647 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area. \n 6648 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the last child component in the list display area. \n 6649 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the center child component in the list display area. \n 6650 */ 6651 NODE_LIST_ON_SCROLL_INDEX = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST, 6652 /** 6653 * @brief Defines the event triggered when the list is about to scroll. 6654 * 6655 * Notes for triggering the event:\n 6656 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 6657 * settings, such as keyboard and mouse operations. \n 6658 * 2. Scrolling can be initiated by calling the controller API. \n 6659 * 3. The out-of-bounds bounce effect is supported. \n 6660 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6661 * {@link ArkUI_NodeComponentEvent}. \n 6662 * {@link ArkUI_NodeComponentEvent} contains two parameters: \n 6663 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the list 6664 * is scrolled up and negative when the list is scrolled down. \n 6665 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n 6666 */ 6667 NODE_LIST_ON_WILL_SCROLL, 6668 /** 6669 * @brief Defines the event triggered when the list scrolls. 6670 * 6671 * Notes for triggering the event:\n 6672 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 6673 * settings, such as keyboard and mouse operations. \n 6674 * 2. Scrolling can be initiated by calling the controller API. \n 6675 * 3. The out-of-bounds bounce effect is supported. \n 6676 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6677 * {@link ArkUI_NodeComponentEvent}. \n 6678 * {@link ArkUI_NodeComponentEvent} contains two parameters: \n 6679 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the list 6680 * is scrolled up and negative when the list is scrolled down. \n 6681 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n 6682 */ 6683 NODE_LIST_ON_DID_SCROLL, 6684 6685 /** 6686 * @brief Defines the event triggered when the currently displayed content of the <b>ARKUI_NODE_LIST</b> changes. 6687 * 6688 * Notes for triggering the event:\n 6689 * This event is triggered once when the list is initialized and when the index of the first child component or the 6690 * next child component in the list display area changes. 6691 * During index calculation, the list item, header of the list item group, and footer of the list item group each 6692 * are counted as a child component. \n 6693 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6694 * {@link ArkUI_NodeComponentEvent}. \n 6695 * {@link ArkUI_NodeComponentEvent} contains three parameters: \n 6696 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area. \n 6697 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: area in the list item group where the list display area starts. 6698 * The type is {@link ArkUI_ListItemGroupArea}. \n 6699 * <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the list item at the start of the list display area 6700 * in the list item group. 6701 * If the start of the list display area is not on a list item, the value is <b>-1</b>. \n 6702 * <b>ArkUI_NodeComponentEvent.data[4].i32</b>: index of the last child component in the list display area. \n 6703 * <b>ArkUI_NodeComponentEvent.data[5].i32</b>: area in the list item group where the list display area ends. 6704 * The type is {@link ArkUI_ListItemGroupArea}. \n 6705 * <b>ArkUI_NodeComponentEvent.data[6].i32</b>: index of the list item at the end of the list display area in the 6706 * list item group. 6707 * If the end of the list display area is not on a list item, the value is <b>-1</b>. \n 6708 * 6709 * @since 15 6710 */ 6711 NODE_LIST_ON_SCROLL_VISIBLE_CONTENT_CHANGE, 6712 6713 /** 6714 * @brief Defines the event triggered when the refresh state of the <b>ARKUI_NODE_REFRESH</b> object changes. 6715 * 6716 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6717 * {@link ArkUI_NodeComponentEvent}. \n 6718 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6719 * <b>ArkUI_NodeComponentEvent.data[0].i32</b>: refresh state. \n 6720 */ 6721 NODE_REFRESH_STATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH, 6722 /** 6723 * @brief Defines the event triggered when the <b>ARKUI_NODE_REFRESH</b> object enters the refresh state. 6724 * 6725 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6726 * {@link ArkUI_NodeComponentEvent}. \n 6727 * {@link ArkUI_NodeComponentEvent} does not contain parameters:\n 6728 */ 6729 NODE_REFRESH_ON_REFRESH, 6730 /** 6731 * @brief Defines the event triggered when the pull-down distance of <b>ARKUI_NODE_REFRESH</b> changes. 6732 * 6733 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6734 * {@link ArkUI_NodeComponentEvent}. \n 6735 * {@link ArkUI_NodeComponentEvent} contains one parameter:\n 6736 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: pull-down distance. \n 6737 */ 6738 NODE_REFRESH_ON_OFFSET_CHANGE = 1009002, 6739 6740 /** 6741 * @brief Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component is about to scroll. 6742 * 6743 * Notes for triggering the event:\n 6744 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other 6745 * input settings, such as keyboard and mouse operations. \n 6746 * 2. Scrolling can be initiated by calling the controller API. \n 6747 * 3. The out-of-bounds bounce effect is supported. \n 6748 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6749 * {@link ArkUI_NodeComponentEvent}. \n 6750 * {@link ArkUI_NodeComponentEvent} contains two parameters: \n 6751 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the 6752 * component is scrolled up and negative when the component is scrolled down. \n 6753 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n 6754 */ 6755 NODE_ON_WILL_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW, 6756 /** 6757 * @brief Defines the event triggered when the water flow container scrolls. 6758 * 6759 * Notes for triggering the event:\n 6760 * 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input 6761 * settings, such as keyboard and mouse operations. \n 6762 * 2. Scrolling can be initiated by calling the controller API. \n 6763 * 3. The out-of-bounds bounce effect is supported. \n 6764 * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is 6765 * {@link ArkUI_NodeComponentEvent}. \n 6766 * {@link ArkUI_NodeComponentEvent} contains two parameters: \n 6767 * <b>ArkUI_NodeComponentEvent.data[0].f32</b>: scroll offset of each frame. The offset is positive when the 6768 * content is scrolled up and negative when the content is scrolled down. \n 6769 * <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. \n 6770 */ 6771 NODE_WATER_FLOW_ON_DID_SCROLL, 6772 /** 6773 * @brief Defines the enumerated values of the event triggered, 6774 * when the subcomponent of the start position or end position displayed in the current waterfall changes. 6775 * Condition for triggering the event: \n 6776 * This event is triggered when the index value of the first or last subcomponent \n 6777 * in the waterfall display area changes. \n 6778 * When the event callback occurs, the union type in the {@Link ArkUI_NodeEvent} object is \n 6779 * {@Link ArkUI_NodeComponentEvent}. \n 6780 * {@Link ArkUI_NodeComponentEvent} contains three parameters: \n 6781 * ArkUI_NodeComponentEvent.data[0].i32: The index value of \n 6782 * the start position of the currently displayed WaterFlow. \n 6783 * ArkUI_NodeComponentEvent.data[1].i32: The index value of \n 6784 * the end position of the currently displayed waterfall. \n 6785 */ 6786 NODE_WATER_FLOW_ON_SCROLL_INDEX, 6787 6788 /** 6789 * @brief 定义帧动画开始的状态回调。 6790 * 6791 * 触发该事件的条件:\n 6792 * 1、帧动画开始播放时。\n 6793 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 6794 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 6795 * 6796 */ 6797 NODE_IMAGE_ANIMATOR_EVENT_ON_START = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_ANIMATOR, 6798 /** 6799 * @brief 定义帧动画播放暂停时的状态回调。 6800 * 6801 * 触发该事件的条件:\n 6802 * 1、帧动画暂停播放时。\n 6803 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 6804 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 6805 * 6806 */ 6807 NODE_IMAGE_ANIMATOR_EVENT_ON_PAUSE = 19001, 6808 /** 6809 * @brief 定义帧动画c重复播放时的状态回调。 6810 * 6811 * 触发该事件的条件:\n 6812 * 1、帧动画重复播放时。\n 6813 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 6814 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 6815 * 6816 */ 6817 NODE_IMAGE_ANIMATOR_EVENT_ON_REPEAT = 19002, 6818 /** 6819 * @brief 定义帧动画返回最初状态时的状态回调。 6820 * 6821 * 触发该事件的条件:\n 6822 * 1、帧动画返回最初状态时。\n 6823 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 6824 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 6825 * 6826 */ 6827 NODE_IMAGE_ANIMATOR_EVENT_ON_CANCEL = 19003, 6828 /** 6829 * @brief 定义帧动画播放完成时或者停止播放时的状态回调。 6830 * 6831 * 触发该事件的条件:\n 6832 * 1、帧动画播放完成时或停止播放时。\n 6833 * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n 6834 * {@link ArkUI_NodeComponentEvent}中不包含参数。\n 6835 * 6836 */ 6837 NODE_IMAGE_ANIMATOR_EVENT_ON_FINISH = 19004, 6838 } ArkUI_NodeEventType; 6839 6840 /** 6841 * @brief Defines the common structure type of a component event. 6842 * 6843 * @since 12 6844 */ 6845 typedef struct ArkUI_NodeEvent ArkUI_NodeEvent; 6846 6847 /** 6848 * @brief Obtains the type of a component event. 6849 * 6850 * @param event Indicates the pointer to the component event. 6851 * @return Returns the type of the component event. 6852 * @since 12 6853 */ 6854 ArkUI_NodeEventType OH_ArkUI_NodeEvent_GetEventType(ArkUI_NodeEvent* event); 6855 6856 /** 6857 * @brief Obtains the custom ID of a component event. 6858 * 6859 * The event ID is passed in as a parameter when the {@link registerNodeEvent} function is called and can be applied 6860 * to the dispatch logic of the same event entry function {@link registerNodeEventReceiver}. 6861 * 6862 * @param event Indicates the pointer to the component event. 6863 * @return Returns the custom ID of the component event. 6864 * @since 12 6865 */ 6866 int32_t OH_ArkUI_NodeEvent_GetTargetId(ArkUI_NodeEvent* event); 6867 6868 /** 6869 * @brief Obtains the component object that triggers a component event. 6870 * 6871 * @param event Indicates the pointer to the component event. 6872 * @return Returns the component object that triggers the component event. 6873 * @since 12 6874 */ 6875 ArkUI_NodeHandle OH_ArkUI_NodeEvent_GetNodeHandle(ArkUI_NodeEvent* event); 6876 6877 /** 6878 * @brief Obtains input event (for example, touch event) data for a component event. 6879 * 6880 * @param event Indicates the pointer to the component event. 6881 * @return Returns the pointer to the input event data. 6882 * @since 12 6883 */ 6884 ArkUI_UIInputEvent* OH_ArkUI_NodeEvent_GetInputEvent(ArkUI_NodeEvent* event); 6885 6886 /** 6887 * @brief Obtains the numerical data in a component event. 6888 * 6889 * @param event Indicates the pointer to the component event. 6890 * @return Returns the pointer to the numerical data. 6891 * @since 12 6892 */ 6893 ArkUI_NodeComponentEvent* OH_ArkUI_NodeEvent_GetNodeComponentEvent(ArkUI_NodeEvent* event); 6894 6895 /** 6896 * @brief Obtains the string data in a component event. 6897 * 6898 * @param event Indicates the pointer to the component event. 6899 * @return Returns the pointer to the string data. 6900 * @since 12 6901 */ 6902 ArkUI_StringAsyncEvent* OH_ArkUI_NodeEvent_GetStringAsyncEvent(ArkUI_NodeEvent* event); 6903 6904 /** 6905 * @brief 获取ArkUI_TextChangeEvent的数据。 6906 * 6907 * @param event ArkUI_NodeEvent的指针,不应为空。 6908 * @return 返回ArkUI_TextChangeEvent对象的指针。 6909 * @since 15 6910 */ 6911 ArkUI_TextChangeEvent* OH_ArkUI_NodeEvent_GetTextChangeEvent(ArkUI_NodeEvent* event); 6912 6913 /** 6914 * @brief Obtains the custom data in a component event. 6915 * 6916 * This parameter is passed in {@link registerNodeEvent} and can be applied to the service logic when the event 6917 * is triggered. 6918 * 6919 * @param event Indicates the pointer to the component event. 6920 * @return Returns the pointer to the custom data. 6921 * @since 12 6922 */ 6923 void* OH_ArkUI_NodeEvent_GetUserData(ArkUI_NodeEvent* event); 6924 6925 /** 6926 * @brief 获取组件回调事件的数字类型参数。 6927 * 6928 * @param event 组件事件指针。 6929 * @param index 返回值索引。 6930 * @param value 具体返回值。 6931 * @return 错误码。 6932 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 6933 * {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} 组件事件中参数长度超限。 6934 * {@link ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN} 组件事件不支持返回值。 6935 * @since 12 6936 */ 6937 int32_t OH_ArkUI_NodeEvent_GetNumberValue(ArkUI_NodeEvent* event, int32_t index, ArkUI_NumberValue* value); 6938 6939 /** 6940 * @brief 获取组件回调事件的字符串类型参数,字符串数据仅在事件回调过程中有效,需要在事件回调外使用建议进行额外拷贝处理。 6941 * 6942 * @param event 组件事件指针。 6943 * @param index 返回值索引。 6944 * @param string 字符串数组的指针。 6945 * @param stringSize 字符串数组的长度。 6946 * @return 错误码。 6947 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 6948 * {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE} 组件事件中参数长度超限。 6949 * {@link ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID} 组件事件中不存在该数据。 6950 * @since 12 6951 */ 6952 int32_t OH_ArkUI_NodeEvent_GetStringValue(ArkUI_NodeEvent* event, int32_t index, char** string, int32_t* stringSize); 6953 6954 /** 6955 * @brief 设置组件回调事件的返回值。 6956 * 6957 * @param event 组件事件指针。 6958 * @param value 事件数字类型数组。 6959 * @param size 数组长度。 6960 * @return 错误码。 6961 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 6962 * {@link ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN} 组件事件不支持返回值。 6963 * @since 12 6964 */ 6965 int32_t OH_ArkUI_NodeEvent_SetReturnNumberValue(ArkUI_NodeEvent* event, ArkUI_NumberValue* value, int32_t size); 6966 6967 /** 6968 * @brief Defines the dirty area flag passed in the <b>::markDirty</b> API. 6969 * 6970 * @since 12 6971 */ 6972 typedef enum { 6973 /** 6974 * @brief Remeasure. 6975 * 6976 * When this type of flag is specified, re-layout is triggered by default. 6977 */ 6978 NODE_NEED_MEASURE = 1, 6979 6980 /** Re-layout. */ 6981 NODE_NEED_LAYOUT, 6982 /** Re-rendering. */ 6983 NODE_NEED_RENDER, 6984 } ArkUI_NodeDirtyFlag; 6985 6986 /** 6987 * @brief Defines the custom component event type. 6988 * 6989 * @since 12 6990 */ 6991 typedef enum { 6992 /** Measure type. */ 6993 ARKUI_NODE_CUSTOM_EVENT_ON_MEASURE = 1 << 0, 6994 /** Layout type. */ 6995 ARKUI_NODE_CUSTOM_EVENT_ON_LAYOUT = 1 << 1, 6996 /** Draw type. */ 6997 ARKUI_NODE_CUSTOM_EVENT_ON_DRAW = 1 << 2, 6998 /** Foreground type. */ 6999 ARKUI_NODE_CUSTOM_EVENT_ON_FOREGROUND_DRAW = 1 << 3, 7000 /** Overlay type. */ 7001 ARKUI_NODE_CUSTOM_EVENT_ON_OVERLAY_DRAW = 1 << 4, 7002 } ArkUI_NodeCustomEventType; 7003 7004 /** 7005 * @brief Defines the general structure of a custom component event. 7006 * 7007 * @since 12 7008 */ 7009 typedef struct ArkUI_NodeCustomEvent ArkUI_NodeCustomEvent; 7010 7011 /** 7012 * @brief Defines the component adapter, which is used for lazy loading of elements of scrollable components. 7013 * 7014 * @since 12 7015 */ 7016 typedef struct ArkUI_NodeAdapter* ArkUI_NodeAdapterHandle; 7017 7018 /** 7019 * @brief Defines the component adapter event. 7020 * 7021 * @since 12 7022 */ 7023 typedef struct ArkUI_NodeAdapterEvent ArkUI_NodeAdapterEvent; 7024 7025 /** 7026 * @brief Enumerates component adapter events. 7027 * 7028 * @since 12 7029 */ 7030 typedef enum { 7031 /** This event occurs when the component is attached to the adapter. */ 7032 NODE_ADAPTER_EVENT_WILL_ATTACH_TO_NODE = 1, 7033 /** This event occurs when the component is detached from the adapter. */ 7034 NODE_ADAPTER_EVENT_WILL_DETACH_FROM_NODE = 2, 7035 /** This event occurs when the adapter obtains the unique ID of the new element to add. */ 7036 NODE_ADAPTER_EVENT_ON_GET_NODE_ID = 3, 7037 /** This event occurs when the adapter obtains the content of the new element to add. */ 7038 NODE_ADAPTER_EVENT_ON_ADD_NODE_TO_ADAPTER = 4, 7039 /** This event occurs when the adapter removes an element. */ 7040 NODE_ADAPTER_EVENT_ON_REMOVE_NODE_FROM_ADAPTER = 5, 7041 } ArkUI_NodeAdapterEventType; 7042 7043 /** 7044 * @brief Creates a component adapter. 7045 * 7046 * @since 12 7047 */ 7048 ArkUI_NodeAdapterHandle OH_ArkUI_NodeAdapter_Create(void); 7049 7050 /** 7051 * @brief Destroys a component adapter. 7052 * 7053 * @param handle Indicates the target component adapter. 7054 * @since 12 7055 */ 7056 void OH_ArkUI_NodeAdapter_Dispose(ArkUI_NodeAdapterHandle handle); 7057 7058 /** 7059 * @brief Sets the total number of elements in the specified adapter. 7060 * 7061 * @param handle Indicates the target component adapter. 7062 * @param size Indicates the number of elements. 7063 * @return Returns the error code. 7064 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7065 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7066 * @since 12 7067 */ 7068 int32_t OH_ArkUI_NodeAdapter_SetTotalNodeCount(ArkUI_NodeAdapterHandle handle, uint32_t size); 7069 7070 /** 7071 * @brief Obtains the total number of elements in the specified adapter. 7072 * 7073 * @param handle Indicates the target component adapter. 7074 * @return Returns the total number of elements in the adapter. 7075 * @since 12 7076 */ 7077 uint32_t OH_ArkUI_NodeAdapter_GetTotalNodeCount(ArkUI_NodeAdapterHandle handle); 7078 7079 /** 7080 * @brief Registers an event callback for the adapter. 7081 * 7082 * @param handle Indicates the target component adapter. 7083 * @param userData Indicates custom data. 7084 * @param receiver Indicates the event receiver callback. 7085 * @return Returns the error code. 7086 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7087 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7088 * @since 12 7089 */ 7090 int32_t OH_ArkUI_NodeAdapter_RegisterEventReceiver( 7091 ArkUI_NodeAdapterHandle handle, void* userData, void (*receiver)(ArkUI_NodeAdapterEvent* event)); 7092 7093 /** 7094 * @brief Deregisters an event callback for the adapter. 7095 * 7096 * @param handle Indicates the target component adapter. 7097 * @since 12 7098 */ 7099 void OH_ArkUI_NodeAdapter_UnregisterEventReceiver(ArkUI_NodeAdapterHandle handle); 7100 7101 /** 7102 * @brief Instructs the specified adapter to reload all elements. 7103 * 7104 * @param handle Indicates the target component adapter. 7105 * @return Returns the error code. 7106 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7107 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7108 * @since 12 7109 */ 7110 int32_t OH_ArkUI_NodeAdapter_ReloadAllItems(ArkUI_NodeAdapterHandle handle); 7111 7112 /** 7113 * @brief Instructs the specified adapter to reload certain elements. 7114 * 7115 * @param handle Indicates the target component adapter. 7116 * @param startPosition Indicates the start position of the elements to reload. 7117 * @param itemCount Indicates the number of the elements to reload. 7118 * @return Returns the error code. 7119 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7120 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7121 * @since 12 7122 */ 7123 int32_t OH_ArkUI_NodeAdapter_ReloadItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 7124 7125 /** 7126 * @brief Instructs the specified adapter to remove certain elements. 7127 * 7128 * @param handle Indicates the target component adapter. 7129 * @param startPosition Indicates the start position of the elements to remove. 7130 * @param itemCount Indicates the number of the elements to remove. 7131 * @return Returns the error code. 7132 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7133 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7134 * @since 12 7135 */ 7136 int32_t OH_ArkUI_NodeAdapter_RemoveItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 7137 7138 /** 7139 * @brief Instructs the specified adapter to insert certain elements. 7140 * 7141 * @param handle Indicates the target component adapter. 7142 * @param startPosition Indicates the start position of the elements to insert. 7143 * @param itemCount Indicates the number of the elements to insert. 7144 * @return Returns the error code. 7145 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7146 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7147 * @since 12 7148 */ 7149 int32_t OH_ArkUI_NodeAdapter_InsertItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount); 7150 7151 /** 7152 * @brief Instructs the specified adapter to move certain elements. 7153 * 7154 * @param handle Indicates the target component adapter. 7155 * @param from Indicates the start position of the elements to move. 7156 * @param to Indicates the end position of the elements to move. 7157 * @return Returns the error code. 7158 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7159 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7160 * @since 12 7161 */ 7162 int32_t OH_ArkUI_NodeAdapter_MoveItem(ArkUI_NodeAdapterHandle handle, uint32_t from, uint32_t to); 7163 7164 /** 7165 * @brief Obtains all elements stored in the specified adapter. 7166 * 7167 * This API returns the pointer to the array of the elements. You need to manually release the memory data 7168 * to which the pointer points. 7169 * 7170 * @param handle Indicates the target component adapter. 7171 * @param items Indicates the pointer to the array of the elements in the adapter. 7172 * @param size Indicates the number of elements. 7173 * @return Returns the error code. 7174 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7175 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7176 * @since 12 7177 */ 7178 int32_t OH_ArkUI_NodeAdapter_GetAllItems(ArkUI_NodeAdapterHandle handle, ArkUI_NodeHandle** items, uint32_t* size); 7179 7180 /** 7181 * @brief Obtains the custom data passed in during registration of the specified event. 7182 * 7183 * @param event Indicates the target adapter event. 7184 * @since 12 7185 */ 7186 void* OH_ArkUI_NodeAdapterEvent_GetUserData(ArkUI_NodeAdapterEvent* event); 7187 7188 /** 7189 * @brief Obtains the event type. 7190 * 7191 * @param event Indicates the target adapter event. 7192 * @return Returns the event type. 7193 * @since 12 7194 */ 7195 ArkUI_NodeAdapterEventType OH_ArkUI_NodeAdapterEvent_GetType(ArkUI_NodeAdapterEvent* event); 7196 7197 /** 7198 * @brief Obtains the element to be removed for the event to be destroyed. 7199 * 7200 * @param event Indicates the target adapter event. 7201 * @return Returns the element to be removed. 7202 * @since 12 7203 */ 7204 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetRemovedNode(ArkUI_NodeAdapterEvent* event); 7205 7206 /** 7207 * @brief Obtains the index of the element to be operated for the specified adapter event. 7208 * 7209 * @param event Indicates the target adapter event. 7210 * @return Returns the index of the element. 7211 * @since 12 7212 */ 7213 uint32_t OH_ArkUI_NodeAdapterEvent_GetItemIndex(ArkUI_NodeAdapterEvent* event); 7214 7215 /** 7216 * @brief Obtains the scrollable container node that uses the specified adapter. 7217 * 7218 * @param event Indicates the target adapter event. 7219 * @return Returns the error code. 7220 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7221 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7222 * @since 12 7223 */ 7224 ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetHostNode(ArkUI_NodeAdapterEvent* event); 7225 7226 /** 7227 * @brief Sets the component to be added to the specified adapter. 7228 * 7229 * @param event Indicates the target adapter event. 7230 * @param node Indicates the component to be added. 7231 * @return Returns the error code. 7232 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7233 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7234 * @since 12 7235 */ 7236 int32_t OH_ArkUI_NodeAdapterEvent_SetItem(ArkUI_NodeAdapterEvent* event, ArkUI_NodeHandle node); 7237 7238 /** 7239 * @brief Sets the component ID to be generated. 7240 * 7241 * @param event Indicates the target adapter event. 7242 * @param id Indicates the component ID to set. 7243 * @return Returns the error code. 7244 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7245 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7246 * @since 12 7247 */ 7248 int32_t OH_ArkUI_NodeAdapterEvent_SetNodeId(ArkUI_NodeAdapterEvent* event, int32_t id); 7249 7250 /** 7251 * @brief Declares a collection of native node APIs provided by ArkUI. 7252 * 7253 * The APIs related to the native node must be called in the main thread. 7254 * 7255 * @version 1 7256 * @since 12 7257 */ 7258 typedef struct { 7259 /** Struct version. */ 7260 int32_t version; 7261 7262 /** 7263 * @brief Creates a component based on {@link ArkUI_NodeType} and returns the pointer to the created component. 7264 * 7265 * @param type Indicates the type of component to create. 7266 * @return Returns the pointer to the created component. If the component fails to be created, NULL is returned. 7267 */ 7268 ArkUI_NodeHandle (*createNode)(ArkUI_NodeType type); 7269 7270 /** 7271 * @brief Destroys the component to which the specified pointer points. 7272 * 7273 * @param node Indicates the pointer. 7274 */ 7275 void (*disposeNode)(ArkUI_NodeHandle node); 7276 7277 /** 7278 * @brief Adds a component to a parent node. 7279 * 7280 * @param parent Indicates the pointer to the parent node. 7281 * @param child Indicates the pointer to the child node. 7282 * @return Returns the error code. 7283 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7284 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7285 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7286 * on BuilderNode generated nodes: 7287 * setting or resetting attributes, setting events, or adding or editing subnodes. 7288 */ 7289 int32_t (*addChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child); 7290 7291 /** 7292 * @brief Removes a component from its parent node. 7293 * 7294 * @param parent Indicates the pointer to the parent node. 7295 * @param child Indicates the pointer to the child node. 7296 * @return Returns the error code. 7297 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7298 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7299 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7300 * on BuilderNode generated nodes: 7301 * setting or resetting attributes, setting events, or adding or editing subnodes. 7302 */ 7303 int32_t (*removeChild)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child); 7304 7305 /** 7306 * @brief Inserts a component to a parent node after the specified <b>sibling</b> node. 7307 * 7308 * @param parent Indicates the pointer to the parent node. 7309 * @param child Indicates the pointer to the child node. 7310 * @param sibling Indicates the pointer to the sibling node after which the target node is to be inserted. 7311 * If the value is null, the node is inserted at the start of the parent node. 7312 * @return Returns the error code. 7313 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7314 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7315 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7316 * on BuilderNode generated nodes: 7317 * setting or resetting attributes, setting events, or adding or editing subnodes. 7318 */ 7319 int32_t (*insertChildAfter)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling); 7320 7321 /** 7322 * @brief Inserts a component to a parent node before the specified <b>sibling</b> node. 7323 * 7324 * @param parent Indicates the pointer to the parent node. 7325 * @param child Indicates the pointer to the child node. 7326 * @param sibling Indicates the pointer to the sibling node before which the target node is to be inserted. 7327 * If the value is null, the node is inserted at the end of the parent node. 7328 * @return Returns the error code. 7329 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7330 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7331 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7332 * on BuilderNode generated nodes: 7333 * setting or resetting attributes, setting events, or adding or editing subnodes. 7334 */ 7335 int32_t (*insertChildBefore)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, ArkUI_NodeHandle sibling); 7336 7337 /** 7338 * @brief Inserts a component to the specified position in a parent node. 7339 * 7340 * @param parent Indicates the pointer to the parent node. 7341 * @param child Indicates the pointer to the child node. 7342 * @param position Indicates the position to which the target child node is to be inserted. If the value is a 7343 * negative number or invalid, the node is inserted at the end of the parent node. 7344 * @return Returns the error code. 7345 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7346 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7347 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7348 * on BuilderNode generated nodes: 7349 * setting or resetting attributes, setting events, or adding or editing subnodes. 7350 */ 7351 int32_t (*insertChildAt)(ArkUI_NodeHandle parent, ArkUI_NodeHandle child, int32_t position); 7352 7353 /** 7354 * @brief Sets the attribute of a node. 7355 * 7356 * @param node Indicates the node whose attribute needs to be set. 7357 * @param attribute Indicates the type of attribute to set. 7358 * @param item Indicates the attribute value. 7359 * @return Returns the error code. 7360 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7361 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7362 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 7363 * of the native API was not found. 7364 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7365 * on BuilderNode generated nodes: 7366 * setting or resetting attributes, setting events, or adding or editing subnodes. 7367 */ 7368 int32_t (*setAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute, const ArkUI_AttributeItem* item); 7369 7370 /** 7371 * @brief Obtains an attribute. 7372 * 7373 * The pointer returned by this API is an internal buffer pointer of the ArkUI framework. As such, you do not need 7374 * to call <b>delete</b> to release the memory. However, the pointer must be used before this API is called next 7375 * time. Otherwise, the pointer may be overwritten by other values. 7376 * 7377 * @param node Indicates the node whose attribute needs to be obtained. 7378 * @param attribute Indicates the type of attribute to obtain. 7379 * @return Returns the attribute value. If the operation fails, a null pointer is returned. 7380 */ 7381 const ArkUI_AttributeItem* (*getAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute); 7382 7383 /** 7384 * @brief Resets an attribute. 7385 * 7386 * @param node Indicates the node whose attribute needs to be reset. 7387 * @param attribute Indicates the type of attribute to reset. 7388 * @return Returns the error code. 7389 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7390 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7391 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 7392 * of the native API was not found. 7393 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7394 * on BuilderNode generated nodes: 7395 * setting or resetting attributes, setting events, or adding or editing subnodes. 7396 */ 7397 int32_t (*resetAttribute)(ArkUI_NodeHandle node, ArkUI_NodeAttributeType attribute); 7398 7399 /** 7400 * @brief Registers an event for the specified node. 7401 * 7402 * @param node Indicates the target node. 7403 * @param eventType Indicates the type of event to register. 7404 * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeEvent} 7405 * when the event is triggered. 7406 * @param userData Indicates the custom event parameter, which is passed in the callback of {@link ArkUI_NodeEvent} 7407 * when the event is triggered. 7408 * @return Returns the error code. 7409 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7410 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7411 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 7412 * of the native API was not found. 7413 * Returns {@link ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE} if the following operations are not allowed 7414 * on BuilderNode generated nodes: 7415 * setting or resetting attributes, setting events, or adding or editing subnodes. 7416 */ 7417 int32_t (*registerNodeEvent)( 7418 ArkUI_NodeHandle node, ArkUI_NodeEventType eventType, int32_t targetId, void* userData); 7419 7420 /** 7421 * @brief Unregisters an event for the specified node. 7422 * 7423 * @param node Indicates the target node. 7424 * @param eventType Indicates the type of event to unregister. 7425 */ 7426 void (*unregisterNodeEvent)(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType); 7427 7428 /** 7429 * @brief Registers an event receiver. 7430 * 7431 * The ArkUI framework collects component events generated during the process and calls back the events through 7432 * the registered event receiver. \n 7433 * A new call to this API will overwrite the previously registered event receiver. \n 7434 * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. The data will be destroyed after the callback 7435 * is complete. \n 7436 * To bind with a component instance, you can use the <b>addNodeEventReceiver</b> function. \n 7437 * 7438 * @param eventReceiver Indicates the event receiver to register. 7439 */ 7440 void (*registerNodeEventReceiver)(void (*eventReceiver)(ArkUI_NodeEvent* event)); 7441 7442 /** 7443 * @brief Unregisters the event receiver. 7444 * 7445 */ 7446 void (*unregisterNodeEventReceiver)(); 7447 7448 /** 7449 * @brief Forcibly marks the current node that needs to be measured, laid out, or rendered again. 7450 * 7451 * Regarding updates to system attributes, the ArkUI framework automatically marks the dirty area and performs 7452 * measuring, layout, or rendering again. In this case, you do not need to call this API. 7453 * 7454 * @param node Indicates the node for which you want to mark as dirty area. 7455 * @param dirtyFlag Indicates type of dirty area. 7456 */ 7457 void (*markDirty)(ArkUI_NodeHandle node, ArkUI_NodeDirtyFlag dirtyFlag); 7458 7459 /** 7460 * @brief Obtains the number of subnodes. 7461 * 7462 * @param node Indicates the target node. 7463 * @return Returns the error code. 7464 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7465 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7466 */ 7467 uint32_t (*getTotalChildCount)(ArkUI_NodeHandle node); 7468 7469 /** 7470 * @brief Obtains a subnode. 7471 * 7472 * @param node Indicates the target node. 7473 * @param position Indicates the position of the subnode. 7474 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 7475 */ 7476 ArkUI_NodeHandle (*getChildAt)(ArkUI_NodeHandle node, int32_t position); 7477 7478 /** 7479 * @brief Obtains the first subnode. 7480 * 7481 * @param node Indicates the target node. 7482 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 7483 */ 7484 ArkUI_NodeHandle (*getFirstChild)(ArkUI_NodeHandle node); 7485 7486 /** 7487 * @brief Obtains the last subnode. 7488 * 7489 * When the component is being displayed, this API must be called in the main thread. 7490 * 7491 * @param node Indicates the target node. 7492 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 7493 */ 7494 ArkUI_NodeHandle (*getLastChild)(ArkUI_NodeHandle node); 7495 7496 /** 7497 * @brief Obtains the previous sibling node. 7498 * 7499 * @param node Indicates the target node. 7500 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 7501 */ 7502 ArkUI_NodeHandle (*getPreviousSibling)(ArkUI_NodeHandle node); 7503 7504 /** 7505 * @brief Obtains the next sibling node. 7506 * 7507 * @param node Indicates the target node. 7508 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 7509 */ 7510 ArkUI_NodeHandle (*getNextSibling)(ArkUI_NodeHandle node); 7511 7512 /** 7513 * @brief Registers a custom event for a node. When the event is triggered, the value is returned through the entry 7514 * point function registered by <b>registerNodeCustomEventReceiver</b>. 7515 * 7516 * @param node Indicates the target node. 7517 * @param eventType Indicates the type of event to register. 7518 * @param targetId Indicates the custom event ID, which is passed in the callback of {@link ArkUI_NodeCustomEvent} 7519 * when the event is triggered. 7520 * @param userData Indicates the custom event parameter, which is passed in the callback of 7521 * {@link ArkUI_NodeCustomEvent} when the event is triggered. 7522 * @return Returns the error code. 7523 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7524 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7525 * Returns {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} if the dynamic implementation library 7526 * of the native API was not found. 7527 */ 7528 int32_t (*registerNodeCustomEvent)( 7529 ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType, int32_t targetId, void* userData); 7530 7531 /** 7532 * @brief Unregisters a custom event for a node. 7533 * 7534 * @param node Indicates the target node. 7535 * @param eventType Indicates the type of event to unregister. 7536 */ 7537 void (*unregisterNodeCustomEvent)(ArkUI_NodeHandle node, ArkUI_NodeCustomEventType eventType); 7538 7539 /** 7540 * @brief Registers a unified entry point function for custom node event callbacks. 7541 * 7542 * The ArkUI framework collects custom component events generated during the process and calls back the events 7543 * through the registered <b>registerNodeCustomEventReceiver</b>. \n 7544 * A new call to this API will overwrite the previously registered event receiver. 7545 * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer. 7546 * The data will be destroyed after the callback is complete. \n 7547 * To bind with a component instance, you can use the <b>addNodeCustomEventReceiver</b> function. \n 7548 * 7549 * @param eventReceiver Indicates the event receiver to register. 7550 */ 7551 void (*registerNodeCustomEventReceiver)(void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 7552 7553 /** 7554 * @brief Unregisters the unified entry point function for custom node event callbacks. 7555 * 7556 */ 7557 void (*unregisterNodeCustomEventReceiver)(); 7558 7559 /** 7560 * @brief Sets the width and height for a component after the measurement. 7561 * 7562 * @param node Indicates the target node. 7563 * @param width Indicates the width. 7564 * @param height Indicates the height. 7565 * @return Returns the error code. 7566 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7567 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7568 */ 7569 int32_t (*setMeasuredSize)(ArkUI_NodeHandle node, int32_t width, int32_t height); 7570 7571 /** 7572 * @brief Sets the position for a component. 7573 * 7574 * @param node Indicates the target node. 7575 * @param positionX Indicates the X coordinate. 7576 * @param positionY Indicates the Y coordinate. 7577 * @return Returns the error code. 7578 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7579 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7580 */ 7581 int32_t (*setLayoutPosition)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY); 7582 7583 /** 7584 * @brief Obtains the width and height of a component after measurement. 7585 * 7586 * @param node Indicates the target node. 7587 * @return Returns the width and height of the component. 7588 */ 7589 ArkUI_IntSize (*getMeasuredSize)(ArkUI_NodeHandle node); 7590 7591 /** 7592 * @brief Obtains the position of a component after the layout is complete. 7593 * 7594 * @param node Indicates the target node. 7595 * @return Returns the position of the component. 7596 */ 7597 ArkUI_IntOffset (*getLayoutPosition)(ArkUI_NodeHandle node); 7598 7599 /** 7600 * @brief Measures a node. You can use the <b>getMeasuredSize</b> API to obtain the size after the measurement. 7601 * 7602 * @param node Indicates the target node. 7603 * @param Constraint Indicates the size constraint. 7604 * @return Returns the error code. 7605 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7606 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7607 */ 7608 int32_t (*measureNode)(ArkUI_NodeHandle node, ArkUI_LayoutConstraint* Constraint); 7609 7610 /** 7611 * @brief Lays outs a component and passes the expected position of the component relative to its parent component. 7612 * 7613 * @param node Indicates the target node. 7614 * @param positionX Indicates the X coordinate. 7615 * @param positionY Indicates the Y coordinate. 7616 * @return Returns the error code. 7617 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7618 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7619 */ 7620 int32_t (*layoutNode)(ArkUI_NodeHandle node, int32_t positionX, int32_t positionY); 7621 7622 /** 7623 * @brief Adds a component event callback function to a component to receive component events generated 7624 * by the component. 7625 * 7626 * Unlike the global registration function <b>registerNodeEventReceiver</b>, this API allows multiple event 7627 * receivers to be added to the same component. \n 7628 * The callback added by this API is triggered before the global callback registered by 7629 * <b>registerNodeEventReceiver</b>. \n 7630 * Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. 7631 * The data will be destroyed after the callback is complete. \n 7632 * 7633 * @param node Indicates the component for which you want to add the event callback function. 7634 * @param eventReceiver Indicates the component event callback function to add. 7635 * @return Returns the error code. 7636 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7637 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7638 */ 7639 int32_t (*addNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event)); 7640 7641 /** 7642 * @brief Removes the registered component event callback function from a component. 7643 * 7644 * @param node Indicates the component from which you want to remove the event callback function. 7645 * @param eventReceiver Indicates the component event callback function to remove. 7646 * @return Returns the error code. 7647 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7648 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7649 */ 7650 int32_t (*removeNodeEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeEvent* event)); 7651 7652 /** 7653 * @brief Adds a custom event callback function to a component to receive custom events 7654 * (such as layout and drawing events) generated by the component. 7655 * 7656 * Unlike the global registration function <b>registerNodeCustomEventReceiver</b>, this API allows 7657 * multiple event receivers to be added to the same component. \n 7658 * The callback added by this API is triggered before the global callback registered by 7659 * <b>registerNodeCustomEventReceiver</b>. \n 7660 * Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer. 7661 * The data will be destroyed after the callback is complete. \n 7662 * 7663 * @param node Indicates the component for which you want to add the custom event callback function. 7664 * @param eventReceiver Indicates the custom event callback function to add. 7665 * @return Returns the error code. 7666 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7667 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7668 */ 7669 int32_t (*addNodeCustomEventReceiver)(ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 7670 7671 /** 7672 * @brief Removes a registered custom event callback function from a component. 7673 * 7674 * @param node Indicates the component from which you want to remove the custom event callback function. 7675 * @param eventReceiver Indicates the custom event callback function to remove. 7676 * @return Returns the error code. 7677 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7678 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7679 */ 7680 int32_t (*removeNodeCustomEventReceiver)( 7681 ArkUI_NodeHandle node, void (*eventReceiver)(ArkUI_NodeCustomEvent* event)); 7682 7683 /** 7684 * @brief Saves custom data on the specified component. 7685 * 7686 * @param node Indicates the component on which the custom data will be saved. 7687 * @param userData Indicates the custom data to be saved. 7688 * @return Returns the error code. 7689 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7690 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7691 */ 7692 int32_t (*setUserData)(ArkUI_NodeHandle node, void* userData); 7693 7694 /** 7695 * @brief Obtains the custom data saved on the specified component. 7696 * 7697 * @param node Indicates the target component. 7698 * @return Returns the custom data. 7699 */ 7700 void* (*getUserData)(ArkUI_NodeHandle node); 7701 7702 /** 7703 * @brief Sets the unit for a component. 7704 * 7705 * @param node Indicates the component for which you want to set the unit. 7706 * @param unit Indicates the unit, which is an enumerated value of {@link ArkUI_LengthMetricUnit}. 7707 * @return Returns the error code. 7708 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7709 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7710 */ 7711 int32_t (*setLengthMetricUnit)(ArkUI_NodeHandle node, ArkUI_LengthMetricUnit unit); 7712 7713 /** 7714 * @brief Obtains the parent node. 7715 * 7716 * @param node Indicates the target node. 7717 * @return Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise. 7718 */ 7719 ArkUI_NodeHandle (*getParent)(ArkUI_NodeHandle node); 7720 7721 /** 7722 * @brief 从父组件上卸载所有子节点。 7723 * 7724 * @param parent 目标节点对象。 7725 * @return 0 - 成功。 7726 * 401 - 函数参数异常。 7727 */ 7728 int32_t (*removeAllChildren)(ArkUI_NodeHandle parent); 7729 } ArkUI_NativeNodeAPI_1; 7730 7731 /** 7732 * @brief Obtains the size constraint for measurement through a custom component event. 7733 * 7734 * @param event Indicates the pointer to the custom component event. 7735 * @return Returns the pointer to the size constraint. 7736 * @since 12 7737 */ 7738 ArkUI_LayoutConstraint* OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure(ArkUI_NodeCustomEvent* event); 7739 7740 /** 7741 * @brief Obtains the expected position of a component relative to its parent component in the layout phase through a 7742 * custom component event. 7743 * 7744 * @param event Indicates the pointer to the custom component event. 7745 * @return Returns the expected position relative to the parent component. 7746 * @since 12 7747 */ 7748 ArkUI_IntOffset OH_ArkUI_NodeCustomEvent_GetPositionInLayout(ArkUI_NodeCustomEvent* event); 7749 7750 /** 7751 * @brief Obtains the drawing context through a custom component event. 7752 * 7753 * @param event Indicates the pointer to the custom component event. 7754 * @return Returns the drawing context. 7755 * @since 12 7756 */ 7757 ArkUI_DrawContext* OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw(ArkUI_NodeCustomEvent* event); 7758 7759 /** 7760 * @brief Obtains the ID of a custom component event. 7761 * 7762 * @param event Indicates the pointer to the custom component event. 7763 * @return Returns the ID of the custom component event. 7764 * @since 12 7765 */ 7766 int32_t OH_ArkUI_NodeCustomEvent_GetEventTargetId(ArkUI_NodeCustomEvent* event); 7767 7768 /** 7769 * @brief Obtains custom event parameters through a custom component event. 7770 * 7771 * @param event Indicates the pointer to the custom component event. 7772 * @return Returns the custom event parameters. 7773 * @since 12 7774 */ 7775 void* OH_ArkUI_NodeCustomEvent_GetUserData(ArkUI_NodeCustomEvent* event); 7776 7777 /** 7778 * @brief Obtains a component object through a custom component event. 7779 * 7780 * @param event Indicates the pointer to the custom component event. 7781 * @return Returns the component object. 7782 * @since 12 7783 */ 7784 ArkUI_NodeHandle OH_ArkUI_NodeCustomEvent_GetNodeHandle(ArkUI_NodeCustomEvent* event); 7785 7786 /** 7787 * @brief Obtains the event type through a custom component event. 7788 * 7789 * @param event Indicates the pointer to the custom component event. 7790 * @return Returns the type of the custom component event. 7791 * @since 12 7792 */ 7793 ArkUI_NodeCustomEventType OH_ArkUI_NodeCustomEvent_GetEventType(ArkUI_NodeCustomEvent* event); 7794 7795 /** 7796 * @brief 通过自定义组件事件获取自定义段落组件的测量信息。 7797 * 7798 * @param event 自定义组件事件。 7799 * @param info 需要获取的测量信息。 7800 * @return 错误码。 7801 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 7802 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。 7803 * @since 12 7804 */ 7805 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo( 7806 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMeasureInfo* info); 7807 7808 /** 7809 * @brief 通过自定义组件事件设置自定义段落的度量指标。 7810 * 7811 * @param event 自定义组件事件。 7812 * @param metrics 需要获取的度量指标信息。 7813 * @return 错误码。 7814 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 7815 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。 7816 * @since 12 7817 */ 7818 int32_t OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics( 7819 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMetrics* metrics); 7820 7821 /** 7822 * @brief 通过自定义组件事件获取自定义段落组件的绘制信息。 7823 * 7824 * @param event 自定义组件事件。 7825 * @param event 需要获取的绘制信息。 7826 * @return 错误码。 7827 * {@link ARKUI_ERROR_CODE_NO_ERROR} 成功。 7828 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} 函数参数异常。 7829 * @since 12 7830 */ 7831 int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo( 7832 ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanDrawInfo* info); 7833 7834 /** 7835 * @brief Adds a component to a node content. 7836 * 7837 * @param content Indicates the pointer to the node content instance. 7838 * @param node Indicates the pointer to the node. 7839 * @return Returns 0 if success. 7840 * Returns 401 if a parameter exception occurs. 7841 * @since 12 7842 */ 7843 int32_t OH_ArkUI_NodeContent_AddNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node); 7844 7845 /** 7846 * @brief Adds a component to a node content. 7847 * 7848 * @param content Indicates the pointer to the node content instance. 7849 * @param node Indicates the pointer to the node. 7850 * @return Returns 0 if success. 7851 * Returns 401 if a parameter exception occurs. 7852 * @since 12 7853 */ 7854 int32_t OH_ArkUI_NodeContent_InsertNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node, int32_t position); 7855 7856 /** 7857 * @brief Removes a component from a node content. 7858 * 7859 * @param content Indicates the pointer to the node content. 7860 * @param node Indicates the pointer to the node. 7861 * @return Returns 0 if success. 7862 * Returns 401 if a parameter exception occurs. 7863 * @since 12 7864 */ 7865 int32_t OH_ArkUI_NodeContent_RemoveNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node); 7866 7867 /** 7868 * @brief Defines the node content event type. 7869 * 7870 * @since 12 7871 */ 7872 typedef enum { 7873 /** Defines the mount event. */ 7874 NODE_CONTENT_EVENT_ON_ATTACH_TO_WINDOW = 0, 7875 /** Defines the unmount event. */ 7876 NODE_CONTENT_EVENT_ON_DETACH_FROM_WINDOW = 1, 7877 } ArkUI_NodeContentEventType; 7878 7879 7880 /** 7881 * @brief Enumerates the inspector error codes. 7882 * @since 15 7883 */ 7884 typedef enum { 7885 /** 7886 * @error Success. 7887 */ 7888 ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL = 0, 7889 /** 7890 * @error Invalid parameter. 7891 */ 7892 ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER = -1, 7893 } ArkUI_InspectorErrorCode; 7894 7895 /** 7896 * @brief Defines the general structure of a node content event. 7897 * 7898 * @since 12 7899 */ 7900 typedef struct ArkUI_NodeContentEvent ArkUI_NodeContentEvent; 7901 7902 /** 7903 * @brief Defines the node content event callback function. 7904 * 7905 * @since 12 7906 */ 7907 typedef void (*ArkUI_NodeContentCallback)(ArkUI_NodeContentEvent* event); 7908 7909 /** 7910 * @brief Register a callback for this <b>ArkUI_NodeContentHandle</b> instance. 7911 * 7912 * @param content Indicates the <b>ArkUI_NodeContentHandle</b> instance. 7913 * @param callback Indicates the callback of <b>ArkUI_NodeContentHandle</b> 7914 * @return Returns the status code 7915 * @since 12 7916 */ 7917 int32_t OH_ArkUI_NodeContent_RegisterCallback(ArkUI_NodeContentHandle content, ArkUI_NodeContentCallback callback); 7918 7919 /** 7920 * @brief Obtains the type of a node content. 7921 * 7922 * @param event Indicates the pointer to the node content. 7923 * @return Returns the type of the node content. 7924 * @since 12 7925 */ 7926 ArkUI_NodeContentEventType OH_ArkUI_NodeContentEvent_GetEventType(ArkUI_NodeContentEvent* event); 7927 7928 /** 7929 * @brief Obtains the node content object that triggers a node content event. 7930 * 7931 * @param event Indicates the pointer to the node content event. 7932 * @return Returns the node content object that triggers the node content event. 7933 * @since 12 7934 */ 7935 ArkUI_NodeContentHandle OH_ArkUI_NodeContentEvent_GetNodeContentHandle(ArkUI_NodeContentEvent* event); 7936 7937 /** 7938 * @brief Saves custom data on the specified node content. 7939 * 7940 * @param content Indicates the node content on which the custom data will be saved. 7941 * @param userData Indicates the custom data to be saved. 7942 * @return Returns the error code. 7943 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 7944 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 7945 * @since 12 7946 */ 7947 int32_t OH_ArkUI_NodeContent_SetUserData(ArkUI_NodeContentHandle content, void* userData); 7948 7949 /** 7950 * @brief Obtains the custom data saved on the specified node content. 7951 * 7952 * @param content Indicates the target node content. 7953 * @return Returns the custom data. 7954 * @since 12 7955 */ 7956 void* OH_ArkUI_NodeContent_GetUserData(ArkUI_NodeContentHandle content); 7957 7958 /** 7959 * @brief Get the size of the component layout area. 7960 * The layout area size does not include graphic variation attributes such as scaling. 7961 * 7962 * @param node ArkUI_NodeHandle pointer. 7963 * @param size The drawing area size of the component handle, in px. 7964 * @return Error code. 7965 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 7966 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 7967 * @since 12 7968 */ 7969 int32_t OH_ArkUI_NodeUtils_GetLayoutSize(ArkUI_NodeHandle node, ArkUI_IntSize* size); 7970 7971 /** 7972 * @brief Obtain the position of the component layout area relative to the parent component. 7973 * The relative position of the layout area does not include graphic variation attributes, such as translation. 7974 * 7975 * @param node ArkUI_NodeHandle pointer. 7976 * @param localOffset The offset value of the component handle relative to the parent component, in px. 7977 * @return Error code. 7978 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 7979 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 7980 * @since 12 7981 */ 7982 int32_t OH_ArkUI_NodeUtils_GetLayoutPosition(ArkUI_NodeHandle node, ArkUI_IntOffset* localOffset); 7983 7984 /** 7985 * @brief Obtain the position of the component layout area relative to the window. 7986 * The relative position of the layout area does not include graphic variation attributes, such as translation. 7987 * 7988 * @param node ArkUI_NodeHandle pointer. 7989 * @param globalOffset The offset value of the component handle relative to the window, in px. 7990 * @return Error code. 7991 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 7992 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 7993 * @since 12 7994 */ 7995 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset); 7996 7997 /** 7998 * @brief Obtain the position of the component layout area relative to the screen. 7999 * The relative position of the layout area does not include graphic variation attributes, such as translation. 8000 * 8001 * @param node ArkUI_NodeHandle pointer. 8002 * @param screenOffset The offset value of the component handle relative to the screen, in px. 8003 * @return Error code. 8004 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8005 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8006 * @since 12 8007 */ 8008 int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* screenOffset); 8009 8010 /** 8011 * @brief Obtain the position of the component in the window, including the properties of graphic translation changes. 8012 * 8013 * @param node ArkUI_NodeHandle pointer. 8014 * @param translateOffset The cumulative offset value of the component handle itself, 8015 * parent components, and ancestor nodes, in px. 8016 * @return Error code. 8017 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8018 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8019 * @since 12 8020 */ 8021 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); 8022 8023 /** 8024 * @brief Obtain the position of the component on the screen, including the attributes of graphic translation changes. 8025 * 8026 * @param node ArkUI_NodeHandle pointer. 8027 * @param translateOffset The cumulative offset value of the component handle itself, 8028 * parent components, and ancestor nodes, in px. 8029 * @return Error code. 8030 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8031 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8032 * @since 12 8033 */ 8034 int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); 8035 8036 /** 8037 * @brief Add the custom property of the component. This interface only works on the main thread. 8038 * 8039 * @param node ArkUI_NodeHandle pointer. 8040 * @param name The name of the custom property. Passing null pointers is not allowed. 8041 * @param value The value of the custom property. Passing null pointers is not allowed. 8042 * @since 13 8043 */ 8044 void OH_ArkUI_NodeUtils_AddCustomProperty(ArkUI_NodeHandle node, const char* name, const char* value); 8045 8046 /** 8047 * @brief Remove the custom property of the component. 8048 * 8049 * @param node ArkUI_NodeHandle pointer. 8050 * @param name The name of the custom property. 8051 * @since 13 8052 */ 8053 void OH_ArkUI_NodeUtils_RemoveCustomProperty(ArkUI_NodeHandle node, const char* name); 8054 8055 /** 8056 * @brief Get the value of the custom property of the component. 8057 * 8058 * @param node ArkUI-NodeHandle pointer. 8059 * @param name The name of the custom attribute. 8060 * @param handle The structure of the custom attribute corresponding to the key parameter name obtained. 8061 * @return Error code. 8062 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8063 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8064 * @since 14 8065 */ 8066 int32_t OH_ArkUI_NodeUtils_GetCustomProperty(ArkUI_NodeHandle node, const char* name, ArkUI_CustomProperty** handle); 8067 8068 /** 8069 * @brief Get the parent node to obtain the component nodes created by ArkTs. 8070 * 8071 * @param node Target node object. 8072 * @return Return the pointer of the component. 8073 * @since 14 8074 */ 8075 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetParentInPageTree(ArkUI_NodeHandle node); 8076 8077 /** 8078 * @brief Retrieve all active child nodes of a node. Span and ImageSpan will not be counted in the children. 8079 * 8080 * @param head Pass in the node that needs to be obtained. 8081 * @param handle The structure corresponding to the sub node information of the head node. 8082 * @return Error code. 8083 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8084 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8085 * @since 14 8086 */ 8087 int32_t OH_ArkUI_NodeUtils_GetActiveChildrenInfo(ArkUI_NodeHandle head, ArkUI_ActiveChildrenInfo** handle); 8088 8089 /** 8090 * @brief Retrieve the root node of the current page. 8091 * 8092 * @param node Target node object. 8093 * @return Return the pointer of the component. 8094 * @since 14 8095 */ 8096 ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetCurrentPageRootNode(ArkUI_NodeHandle node); 8097 8098 /** 8099 * @brief Retrieve whether the component is labeled by C-API. 8100 * 8101 * @param node Target node object. 8102 * @return Return whether the node is a Tag created by C-API, 8103 * true represents created by C-API, false represents not created by C-API. 8104 * @since 14 8105 */ 8106 bool OH_ArkUI_NodeUtils_IsCreatedByNDK(ArkUI_NodeHandle node); 8107 8108 /** 8109 * @brief Get the type of node. 8110 * 8111 * @param node Target node object. 8112 * @return Return the type of the node. 8113 * For specific open types, refer to {@link ArkUI_NodeType}. For unopened nodes, return -1. 8114 * @since 14 8115 */ 8116 int32_t OH_ArkUI_NodeUtils_GetNodeType(ArkUI_NodeHandle node); 8117 8118 /** 8119 * @brief Get the node handle by id. This interface only works on the main thread. 8120 * 8121 * @param id The id of the target node handle. 8122 * @param node The handle of target node handle. 8123 * @return Error code. 8124 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8125 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8126 * @since 15 8127 */ 8128 int32_t OH_ArkUI_NodeUtils_GetAttachedNodeHandleById(const char* id, ArkUI_NodeHandle* node); 8129 8130 /** 8131 * @brief Get info of the window to which the node belongs. 8132 * 8133 * @param node Target node object. 8134 * @param info Window info. Use {@link OH_ArkUI_HostWindowInfo_Destroy} to release memory. 8135 * @return Error code. 8136 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8137 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8138 * {@link ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE} The node is not mounted. 8139 * @since 15 8140 */ 8141 int32_t OH_ArkUI_NodeUtils_GetWindowInfo(ArkUI_NodeHandle node, ArkUI_HostWindowInfo** info); 8142 8143 /** 8144 * @brief The event called when the sliding operation offset changes. 8145 * 8146 * @param node Indicates the target node. 8147 * @param userData Indicates the custom data to be saved. 8148 * @param onFinish Callback Events. 8149 * offset Slide offset. 8150 * @return Error code. 8151 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8152 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8153 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 8154 * @since 12 8155 */ 8156 int32_t OH_ArkUI_List_CloseAllSwipeActions(ArkUI_NodeHandle node, void* userData, void (*onFinish)(void* userData)); 8157 8158 /** 8159 * @brief Obtain the UIContext pointer to the page where the node is located. 8160 * 8161 * @param node The node. 8162 * @return The UIContext pointer. 8163 * If a null pointer is returned, it may be because the node is empty. 8164 * @since 12 8165 */ 8166 ArkUI_ContextHandle OH_ArkUI_GetContextByNode(ArkUI_NodeHandle node); 8167 8168 /** 8169 * @brief The event called when the system color mode changes. 8170 * Only one system color change callback can be registered for the same component. 8171 * 8172 * @param node Indicates the target node. 8173 * @param userData Indicates the custom data to be saved. 8174 * @param onColorModeChange Callback Events. 8175 * @return Error code. 8176 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8177 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8178 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 8179 * @since 12 8180 */ 8181 int32_t OH_ArkUI_RegisterSystemColorModeChangeEvent( 8182 ArkUI_NodeHandle node, void* userData, void (*onColorModeChange)(ArkUI_SystemColorMode colorMode, void* userData)); 8183 8184 /** 8185 * @brief Unregister the event callback when the system color mode changes. 8186 * 8187 * @param node Indicates the target node. 8188 * @since 12 8189 */ 8190 void OH_ArkUI_UnregisterSystemColorModeChangeEvent(ArkUI_NodeHandle node); 8191 8192 /** 8193 * @brief The event called when the system font style changes. 8194 * Only one system font change callback can be registered for the same component. 8195 * 8196 * @param node Indicates the target node. 8197 * @param userData Indicates the custom data to be saved. 8198 * @param onFontStyleChange Callback Events. 8199 * @return Error code. 8200 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8201 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8202 * {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. 8203 * @since 12 8204 */ 8205 int32_t OH_ArkUI_RegisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node, void* userData, 8206 void (*onFontStyleChange)(ArkUI_SystemFontStyleEvent* event, void* userData)); 8207 8208 /** 8209 * @brief Unregister the event callback when the system font style changes. 8210 * 8211 * @param node Indicates the target node. 8212 * @since 12 8213 */ 8214 void OH_ArkUI_UnregisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node); 8215 8216 /** 8217 * @brief Retrieve the font size value for system font change events. 8218 * 8219 * @param event Indicates a pointer to the current system font change event. 8220 * @return Updated system font size scaling factor. Default value: 1.0. 8221 * @since 12 8222 */ 8223 float OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(const ArkUI_SystemFontStyleEvent* event); 8224 8225 /** 8226 * @brief Retrieve the font thickness values for system font change events. 8227 * 8228 * @param event Indicates a pointer to the current system font change event. 8229 * @return The updated system font thickness scaling factor. Default value: 1.0. 8230 * @since 12 8231 */ 8232 float OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(const ArkUI_SystemFontStyleEvent* event); 8233 8234 /** 8235 * @brief Registers a callback for node when layout is completed. 8236 * 8237 * @param node Indicates the target node. 8238 * @param userData Indicates the custom data used in onLayoutCompleted callback function. 8239 * @param onLayoutCompleted Indicates the function when layout completed is callback. 8240 * @return error code 8241 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 8242 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 8243 * @since 15 8244 */ 8245 int32_t OH_ArkUI_RegisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node, 8246 void* userData, void (*onLayoutCompleted)(void* userData)); 8247 8248 8249 /** 8250 * @brief Registers a callback for node when draw is completed. 8251 * 8252 * @param node Indicates the target node. 8253 * @param userData Indicates the custom data used in onDrawCompleted callback function. 8254 * @param onDrawCompleted Indicates the function when draw completed is callback. 8255 * @return error code 8256 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 8257 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 8258 * @since 15 8259 */ 8260 int32_t OH_ArkUI_RegisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node, 8261 void* userData, void (*onDrawCompleted)(void* userData)); 8262 8263 /** 8264 * @brief Unregisters the layout completed callback for node. 8265 * 8266 * @param node Indicates the target node. 8267 * @return error code 8268 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 8269 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 8270 * @since 15 8271 */ 8272 int32_t OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node); 8273 8274 /** 8275 * @brief Unregisters the draw completed callback for node. 8276 * 8277 * @param node Indicates the target node. 8278 * @return error code 8279 {@link ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. 8280 * {@link ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. 8281 * @since 15 8282 */ 8283 int32_t OH_ArkUI_UnregisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node); 8284 8285 /** 8286 * @brief Set the cross-language option of the target node handle. 8287 * 8288 * @param node The target node handle. 8289 * @param option The cross-language option {@link ArkUI_CrossLanguageOption}. 8290 * @return Error code. 8291 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8292 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8293 * @since 15 8294 */ 8295 int32_t OH_ArkUI_NodeUtils_SetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option); 8296 8297 /** 8298 * @brief Get the cross-language option of the target node handle. 8299 * 8300 * @param node The target node handle. 8301 * @param option The cross-language option {@link ArkUI_CrossLanguageOption}. 8302 * @return Error code. 8303 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8304 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8305 * @since 15 8306 */ 8307 int32_t OH_ArkUI_NodeUtils_GetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option); 8308 8309 /** 8310 * @brief Get the snapshot pixelmap for the given node synchronously, will get error if the node is not on the 8311 * tree or is not rendered yet. 8312 * Note: the pixelmap should be released through OH_PixelmapNative_Release when it's not used any more. 8313 * 8314 * @param node Indicates the target node. 8315 * @param snapshotOptions the given configuration for taking snapshot, can be null for using default. 8316 * @param pixelmap Pixelmap pointer created by system, it's the out result. 8317 * @return Returns the result code. 8318 * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. 8319 * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. 8320 * Returns {@link ARKUI_ERROR_CODE_INTERNAL_ERROR} if the snapshot taking failed will null pixelmap returned. 8321 * Returns {@link ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT} if the snapshot taking is timeout. 8322 * @since 15 8323 */ 8324 int32_t OH_ArkUI_GetNodeSnapshot(ArkUI_NodeHandle node, ArkUI_SnapshotOptions* snapshotOptions, 8325 OH_PixelmapNative** pixelmap); 8326 8327 /** 8328 * @brief Obtains the index of the current FrameNode's first child node which is on the tree. 8329 * 8330 * @param node Indicates the target node. 8331 * @param index The index of the subnode. 8332 * @return Error code. 8333 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8334 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8335 * @since 15 8336 */ 8337 int32_t OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index); 8338 8339 /** 8340 * @brief Obtains the index of the current FrameNode's last child node which is on the tree. 8341 * 8342 * @param node Indicates the target node. 8343 * @param index the index of the subnode. 8344 * @return Error code. 8345 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8346 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8347 * @since 15 8348 */ 8349 int32_t OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index); 8350 8351 /** 8352 * @brief Obtains a subnode by position with the expand mode. 8353 * 8354 * @param node Indicates the target node. 8355 * @param position Indicates the position of the subnode. 8356 * @param subnode The pointer to the subnode. 8357 * @param expandMode Indicates the expand mode. {@link ArkUI_ExpandMode}. 8358 * @return Error code. 8359 * {@link ARKUI_ERROR_CODE_NO_ERROR} success. 8360 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8361 * @since 15 8362 */ 8363 int32_t OH_ArkUI_NodeUtils_GetChildWithExpandMode(ArkUI_NodeHandle node, int32_t position, 8364 ArkUI_NodeHandle* subnode, uint32_t expandMode); 8365 8366 /** 8367 * @brief Obtain the position of the component layout area relative to the window. 8368 * The relative position of the layout area does not include graphic variation attributes, such as translation. 8369 * 8370 * @param node ArkUI_NodeHandle pointer. 8371 * @param globalOffset The offset value of the component handle relative to the window, in px. 8372 * @return Error code. 8373 * {@link ARKUI_ERROR_CODE_NO_ERROR} Success. 8374 * {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. 8375 * @since 15 8376 */ 8377 int32_t OH_ArkUI_NodeUtils_GetPositionToParent(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset); 8378 #ifdef __cplusplus 8379 }; 8380 #endif 8381 8382 #endif // ARKUI_NATIVE_NODE_H 8383 /** @}*/ 8384