pub enum LinkAnnotation {
Url(String),
Clickable {
tag: String,
handler: Rc<dyn Fn()>,
},
}Expand description
Mirrors Jetpack Compose’s LinkAnnotation sealed class.
Attach to a text range via Builder::push_link or Builder::with_link.
crate::widgets::LinkedText automatically opens URLs and invokes handlers
when the user taps the annotated text.
§JC ref
androidx.compose.foundation.text.input.internal.selection.LinkAnnotation
§Example
ⓘ
let text = AnnotatedString::builder()
.append("Visit ")
.with_link(
LinkAnnotation::Url("https://developer.android.com".into()),
|b| b.append("Android Developers"),
)
.to_annotated_string();Variants§
Url(String)
Opens the given URL via the platform URI handler when clicked.
JC parity: LinkAnnotation.Url(url)
Clickable
Calls an arbitrary handler when clicked.
JC parity: LinkAnnotation.Clickable(tag, linkInteractionListener)
Trait Implementations§
Source§impl Clone for LinkAnnotation
impl Clone for LinkAnnotation
Source§impl Debug for LinkAnnotation
impl Debug for LinkAnnotation
Auto Trait Implementations§
impl !RefUnwindSafe for LinkAnnotation
impl !Send for LinkAnnotation
impl !Sync for LinkAnnotation
impl !UnwindSafe for LinkAnnotation
impl Freeze for LinkAnnotation
impl Unpin for LinkAnnotation
impl UnsafeUnpin for LinkAnnotation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more