Skip to main content

SemanticsCustomAction

Struct SemanticsCustomAction 

Source
pub struct SemanticsCustomAction {
    pub label: String,
    /* private fields */
}
Expand description

A screen-reader action that is not a click, e.g. Compose’s customActions = listOf(CustomAccessibilityAction("Pause") { … }).

TalkBack surfaces these through its actions menu rather than by activating the node, which is the only way to reach a command that has no on-screen control — pausing a game whose whole surface is one tap-to-launch target.

Fields§

§label: String

What the screen reader reads out in its actions menu.

Implementations§

Source§

impl SemanticsCustomAction

Source

pub fn new(label: impl Into<String>, handler: impl Fn() + 'static) -> Self

Source

pub fn invoke(&self)

Trait Implementations§

Source§

impl Clone for SemanticsCustomAction

Source§

fn clone(&self) -> SemanticsCustomAction

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SemanticsCustomAction

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for SemanticsCustomAction

Source§

impl PartialEq for SemanticsCustomAction

Two custom actions are the same action when they read the same.

The handler is deliberately excluded. A semantics recorder runs on every collection, so the closure is a fresh Rc each time and comparing handler identity would report “the tree changed” on every frame — which on Android means re-serialising and re-publishing the whole virtual-view tree across JNI 60 times a second. Handlers are looked up in the live semantics tree at the moment the action fires (see perform_custom_action), so a handler that is newer than the last published snapshot is still the one that runs.

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.