1e41f4b71Sopenharmony_ci# Click Effect 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciYou can set the click effect for a component to define how it behaves when clicked. 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **NOTE** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> The APIs of this module are supported since API version 10. Updates will be marked with a superscript to indicate their earliest API version. 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci## clickEffect 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ciclickEffect(value: ClickEffect | null) 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ciClick effect of the component. 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci**System capability**: SystemCapability.ArkUI.ArkUI.Full 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci**Parameters** 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 20e41f4b71Sopenharmony_ci| ------ | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 21e41f4b71Sopenharmony_ci| value | [ClickEffect](#clickeffect) \| null | Yes | Click effect of the component.<br>**NOTE**<br>You can remove the click effect by setting this attribute to **undefined** or **null**.<br>Avoid using this attribute in scenarios where the component size dynamically changes.<br>This attribute is not supported when the component cannot trigger a universal event.| 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci## ClickEffect 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 26e41f4b71Sopenharmony_ci| ----- | ----------------------------------------------------------- | ---- | ------------------------------------------------------------ | 27e41f4b71Sopenharmony_ci| level | [ClickEffectLevel](ts-appendix-enums.md#clickeffectlevel10) | Yes | Click effect of the component.<br>**NOTE**<br>If **level** is set to **undefined** or **null**, the click effect corresponding to **ClickEffectLevel.LIGHT** will be used. For details about the zoom ratio, see the description of **scale**.| 28e41f4b71Sopenharmony_ci| scale | number | No | Zoom ratio. This parameter works based on the setting of **ClickEffectLevel**.<br>**NOTE**<br>The default value of this parameter varies by the value of **level**.<br>If **level** is set to **ClickEffectLevel.LIGHT**, the default value is **0.90**.<br>If **level** is set to **ClickEffectLevel.MIDDLE** or **ClickEffectLevel.HEAVY**, the default value is **0.95**.<br>If **level** is set to **undefined** or **null** (both of which evaluate to **ClickEffectLevel.LIGHT**), the default value is **0.90**.<br>If **scale** is set to **undefined** or **null**, the default zoom ratio for the set level will be used.<br>| 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci## Example 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci```ts 33e41f4b71Sopenharmony_ci// xxx.ets 34e41f4b71Sopenharmony_ci@Entry 35e41f4b71Sopenharmony_ci@Component 36e41f4b71Sopenharmony_cistruct ToggleExample { 37e41f4b71Sopenharmony_ci build() { 38e41f4b71Sopenharmony_ci Column({ space: 10 }) { 39e41f4b71Sopenharmony_ci Text('type: Switch').fontSize(12).fontColor(0xcccccc).width('90%') 40e41f4b71Sopenharmony_ci Flex({ justifyContent: FlexAlign.SpaceEvenly, alignItems: ItemAlign.Center }) { 41e41f4b71Sopenharmony_ci Toggle({ type: ToggleType.Switch, isOn: false }) 42e41f4b71Sopenharmony_ci .clickEffect({level:ClickEffectLevel.LIGHT}) 43e41f4b71Sopenharmony_ci .selectedColor('#007DFF') 44e41f4b71Sopenharmony_ci .switchPointColor('#FFFFFF') 45e41f4b71Sopenharmony_ci .onChange((isOn: boolean) => { 46e41f4b71Sopenharmony_ci console.info('Component status:' + isOn) 47e41f4b71Sopenharmony_ci }) 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ci Toggle({ type: ToggleType.Switch, isOn: true }) 50e41f4b71Sopenharmony_ci .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5}) 51e41f4b71Sopenharmony_ci .selectedColor('#007DFF') 52e41f4b71Sopenharmony_ci .switchPointColor('#FFFFFF') 53e41f4b71Sopenharmony_ci .onChange((isOn: boolean) => { 54e41f4b71Sopenharmony_ci console.info('Component status:' + isOn) 55e41f4b71Sopenharmony_ci }) 56e41f4b71Sopenharmony_ci } 57e41f4b71Sopenharmony_ci 58e41f4b71Sopenharmony_ci Text('type: Checkbox').fontSize(12).fontColor(0xcccccc).width('90%') 59e41f4b71Sopenharmony_ci Flex({ justifyContent: FlexAlign.SpaceEvenly, alignItems: ItemAlign.Center }) { 60e41f4b71Sopenharmony_ci Toggle({ type: ToggleType.Checkbox, isOn: false }) 61e41f4b71Sopenharmony_ci .clickEffect({level:ClickEffectLevel.MIDDLE}) 62e41f4b71Sopenharmony_ci .size({ width: 20, height: 20 }) 63e41f4b71Sopenharmony_ci .selectedColor('#007DFF') 64e41f4b71Sopenharmony_ci .onChange((isOn: boolean) => { 65e41f4b71Sopenharmony_ci console.info('Component status:' + isOn) 66e41f4b71Sopenharmony_ci }) 67e41f4b71Sopenharmony_ci 68e41f4b71Sopenharmony_ci Toggle({ type: ToggleType.Checkbox, isOn: true }) 69e41f4b71Sopenharmony_ci .clickEffect({level:ClickEffectLevel.MIDDLE, scale: 0.5}) 70e41f4b71Sopenharmony_ci .size({ width: 20, height: 20 }) 71e41f4b71Sopenharmony_ci .selectedColor('#007DFF') 72e41f4b71Sopenharmony_ci .onChange((isOn: boolean) => { 73e41f4b71Sopenharmony_ci console.info('Component status:' + isOn) 74e41f4b71Sopenharmony_ci }) 75e41f4b71Sopenharmony_ci } 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ci Text('type: Button').fontSize(12).fontColor(0xcccccc).width('90%') 78e41f4b71Sopenharmony_ci Flex({ justifyContent: FlexAlign.SpaceEvenly, alignItems: ItemAlign.Center }) { 79e41f4b71Sopenharmony_ci Toggle({ type: ToggleType.Button, isOn: false }) { 80e41f4b71Sopenharmony_ci Text('status button').fontColor('#182431').fontSize(12) 81e41f4b71Sopenharmony_ci }.width(106) 82e41f4b71Sopenharmony_ci .clickEffect({level:ClickEffectLevel.HEAVY}) 83e41f4b71Sopenharmony_ci .selectedColor('rgba(0,125,255,0.20)') 84e41f4b71Sopenharmony_ci .onChange((isOn: boolean) => { 85e41f4b71Sopenharmony_ci console.info('Component status:' + isOn) 86e41f4b71Sopenharmony_ci }) 87e41f4b71Sopenharmony_ci 88e41f4b71Sopenharmony_ci Toggle({ type: ToggleType.Button, isOn: true }) { 89e41f4b71Sopenharmony_ci Text('status button').fontColor('#182431').fontSize(12) 90e41f4b71Sopenharmony_ci }.width(106) 91e41f4b71Sopenharmony_ci .clickEffect({level:ClickEffectLevel.HEAVY, scale: 0.5}) 92e41f4b71Sopenharmony_ci .selectedColor('rgba(0,125,255,0.20)') 93e41f4b71Sopenharmony_ci .onChange((isOn: boolean) => { 94e41f4b71Sopenharmony_ci console.info('Component status:' + isOn) 95e41f4b71Sopenharmony_ci }) 96e41f4b71Sopenharmony_ci } 97e41f4b71Sopenharmony_ci }.width('100%').padding(24) 98e41f4b71Sopenharmony_ci } 99e41f4b71Sopenharmony_ci} 100e41f4b71Sopenharmony_ci``` 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ci 103