pub struct Button {
pub text: String,
pub icon: Option<Icon>,
pub color: Option<Color>,
pub on_click: Option<Box<OnClick>>,
pub disabled: bool,
pub alt_text: String,
}
Expand description
A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see Add a button.
To make an image a clickable button, specify an
[Image
][google.apps.card.v1.Image] (not an
[ImageComponent
][google.apps.card.v1.ImageComponent]) and set an
onClick
action.
Fields§
§text: String
The text displayed inside the button.
icon: Option<Icon>
The icon image. If both icon
and text
are set, then the icon appears
before the text.
color: Option<Color>
If set, the button is filled with a solid background color and the font color changes to maintain contrast with the background color. For example, setting a blue background likely results in white text.
If unset, the image background is white and the font color is blue.
For red, green, and blue, the value of each field is a float
number that
you can express in either of two ways: as a number between 0 and 255
divided by 255 (153/255), or as a value between 0 and 1 (0.6). 0 represents
the absence of a color and 1 or 255/255 represent the full presence of that
color on the RGB scale.
Optionally set alpha
, which sets a level of transparency using this
equation:
pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
For alpha
, a value of 1
corresponds with a solid color, and a value of
0
corresponds with a completely transparent color.
For example, the following color represents a half transparent red:
"color": {
"red": 1,
"green": 0,
"blue": 0,
"alpha": 0.5
}
on_click: Option<Box<OnClick>>
Required. The action to perform when a user clicks the button, such as opening a hyperlink or running a custom function.
disabled: bool
If true
, the button is displayed in an inactive state and doesn’t respond
to user actions.
alt_text: String
The alternative text that’s used for accessibility.
Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: “Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat".
Trait Implementations§
source§impl Message for Button
impl Message for Button
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for Button
impl PartialEq for Button
impl StructuralPartialEq for Button
Auto Trait Implementations§
impl Freeze for Button
impl RefUnwindSafe for Button
impl Send for Button
impl Sync for Button
impl Unpin for Button
impl UnwindSafe for Button
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request