@@ -34,12 +34,9 @@ import androidx.compose.material3.Text
3434import androidx.compose.material3.TextButton
3535import androidx.compose.material3.TooltipBox
3636import androidx.compose.material3.TooltipDefaults
37- import androidx.compose.material3.TooltipState
37+ import androidx.compose.material3.rememberTooltipState
3838import androidx.compose.runtime.Composable
39- import androidx.compose.runtime.LaunchedEffect
4039import androidx.compose.runtime.getValue
41- import androidx.compose.runtime.mutableStateOf
42- import androidx.compose.runtime.remember
4340import androidx.compose.runtime.setValue
4441import androidx.compose.ui.Alignment
4542import androidx.compose.ui.Modifier
@@ -79,14 +76,13 @@ fun PlainTooltipExample(
7976 modifier : Modifier = Modifier ,
8077 plainTooltipText : String = "Add to favorites"
8178) {
82- var tooltipState by remember { mutableStateOf(TooltipState ()) }
8379 TooltipBox (
8480 modifier = modifier,
8581 positionProvider = TooltipDefaults .rememberPlainTooltipPositionProvider(),
8682 tooltip = {
8783 PlainTooltip { Text (plainTooltipText) }
8884 },
89- state = tooltipState
85+ state = rememberTooltipState()
9086 ) {
9187 IconButton (onClick = { /* Do something... */ }) {
9288 Icon (
@@ -95,13 +91,6 @@ fun PlainTooltipExample(
9591 )
9692 }
9793 }
98-
99- // Reset tooltipState after closing the tooltip.
100- LaunchedEffect (tooltipState.isVisible) {
101- if (! tooltipState.isVisible) {
102- tooltipState = TooltipState ()
103- }
104- }
10594}
10695
10796// [END android_compose_components_plaintooltipexample]
@@ -120,8 +109,6 @@ fun RichTooltipExample(
120109 richTooltipSubheadText : String = "Rich Tooltip ",
121110 richTooltipText : String = "Rich tooltips support multiple lines of informational text."
122111) {
123- var tooltipState by remember { mutableStateOf(TooltipState (isPersistent = true )) }
124-
125112 TooltipBox (
126113 modifier = modifier,
127114 positionProvider = TooltipDefaults .rememberRichTooltipPositionProvider(),
@@ -132,7 +119,7 @@ fun RichTooltipExample(
132119 Text (richTooltipText)
133120 }
134121 },
135- state = tooltipState
122+ state = rememberTooltipState()
136123 ) {
137124 IconButton (onClick = { /* Icon button's click event */ }) {
138125 Icon (
@@ -141,13 +128,6 @@ fun RichTooltipExample(
141128 )
142129 }
143130 }
144-
145- // Reset tooltipState after closing the tooltip.
146- LaunchedEffect (tooltipState.isVisible) {
147- if (! tooltipState.isVisible) {
148- tooltipState = TooltipState (isPersistent = true )
149- }
150- }
151131}
152132// [END android_compose_components_richtooltipexample]
153133
@@ -166,7 +146,7 @@ fun AdvancedRichTooltipExample(
166146 richTooltipText : String = "Rich tooltips support multiple lines of informational text.",
167147 richTooltipActionText : String = "Dismiss "
168148) {
169- var tooltipState by remember { mutableStateOf( TooltipState (isPersistent = true )) }
149+ val tooltipState = rememberTooltipState()
170150
171151 TooltipBox (
172152 modifier = modifier,
@@ -195,13 +175,6 @@ fun AdvancedRichTooltipExample(
195175 )
196176 }
197177 }
198-
199- // Reset tooltipState after closing the tooltip.
200- LaunchedEffect (tooltipState.isVisible) {
201- if (! tooltipState.isVisible) {
202- tooltipState = TooltipState (isPersistent = true )
203- }
204- }
205178}
206179// [END android_compose_components_advancedrichtooltipexample]
207180
0 commit comments