pub enum LinkAnnotation {
Url(String),
Clickable {
tag: String,
handler: Rc<dyn Fn()>,
},
}Expand description
Re-export the UI crate so applications can depend on a single crate.
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§fn clone(&self) -> LinkAnnotation
fn clone(&self) -> LinkAnnotation
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LinkAnnotation
impl Debug for LinkAnnotation
Source§impl PartialEq for LinkAnnotation
impl PartialEq for LinkAnnotation
Auto Trait Implementations§
impl Freeze for LinkAnnotation
impl !RefUnwindSafe for LinkAnnotation
impl !Send for LinkAnnotation
impl !Sync for LinkAnnotation
impl Unpin for LinkAnnotation
impl UnsafeUnpin for LinkAnnotation
impl !UnwindSafe 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,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.