pub struct Button { /* private fields */ }
Expand description
要在活动中显示按钮,请将按钮添加到活动的布局 XML 文件: <Button android:id=“@+id/button_id” android:layout_height=“wrap_content” android:layout_width=“wrap_content” android:text=“@string/self_destruct” /> 要指定按下按钮时的操作,请在相应的活动代码中对按钮对象设置单击监听器: public class MyActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super. onCreate(savedInstanceState); setContentView(R. layout. content_layout_id); final Button button = findViewById(R. id. button_id); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // 用户按下按钮后,此处的代码在主线程上执行 } }); } } 上面的代码片段创建了一个 android.view.View.OnClickListener 实例,并使用 setOnClickListener(View.OnClickListener) 将侦听器连接到按钮。因此,系统会在用户按下按钮后执行您在 onClick(View) 中编写的代码。 系统在主线程上执行 onClick 中的代码。这意味着您的 onClick 代码必须快速执行,以避免延迟您的应用对进一步用户操作的响应。有关更多详细信息,请参阅保持您的应用响应迅速。 每个按钮都使用系统的默认按钮背景进行样式设置,该背景通常因平台的不同版本而异。如果您对默认按钮样式不满意,可以对其进行自定义。有关更多详细信息和代码示例,请参阅按钮样式指南。有关按钮上可用的所有 XML 样式属性,请参阅按钮属性、TextView 属性、视图属性。请参阅样式和主题指南,了解如何实现和组织与样式相关的属性的覆盖。
Implementations§
Methods from Deref<Target = TextView>§
Sourcepub fn set_text<CS: CharSequence>(&self, text: Option<CS>)
pub fn set_text<CS: CharSequence>(&self, text: Option<CS>)
设置要显示的文本。TextView 不接受类似 HTML 的格式,但您可以使用 XML 资源文件中的文本字符串进行这种格式设置。要设置字符串的样式,请将 android.text.style.* 对象附加到 android.text.SpannableString,或参阅可用资源类型文档,了解在 XML 资源文件中设置格式化文本的示例。必要时,TextView 将使用 Spannable.Factory 创建最终或中间 Spannable。同样,它将使用 Editable.Factory 创建最终或中间 Editable。如果传递的文本是 PrecomputedText,但用于创建 PrecomputedText 的参数与此 TextView 不匹配,则会引发 IllegalArgumentException。要确保参数匹配,您可以在调用此方法之前调用 setTextMetricsParams。
可能抛出IllegalArgumentException 如果传递的文本是 PrecomputedText,但用于创建 PrecomputedText 的参数与此 TextView 不匹配。
text
要显示的文本
Sourcepub fn get_text<CS: CharSequence>(&self) -> Option<CS>
pub fn get_text<CS: CharSequence>(&self) -> Option<CS>
返回 TextView 正在显示的文本。如果使用 BufferType.SPANNABLE 或 BufferType.EDITABLE 参数调用 setText(CharSequence),则可以将此方法的返回值分别转换为 Spannable 或 Editable。返回值的内容不应修改。如果您想要一个可修改的内容,您应该先制作自己的副本。 返回:文本视图显示的文本。
Sourcepub fn set_hint<CS: CharSequence>(&self, hint: Option<CS>)
pub fn set_hint<CS: CharSequence>(&self, hint: Option<CS>)
设置 TextView 的文本为空时显示的文本。Null 表示使用普通的空文本。Hint 目前不参与确定视图的大小。
hint
要显示的提示文字。
Sourcepub fn get_hint<CS: CharSequence>(&self) -> Option<CS>
pub fn get_hint<CS: CharSequence>(&self) -> Option<CS>
返回TextView的文本为空时显示的提示。
Sourcepub fn get_default_editable(&self) -> bool
pub fn get_default_editable(&self) -> bool
子类会重写此功能以指定它们默认具有 KeyListener,即使在 XML 选项中没有特别调用。
Sourcepub fn set_input_type(&self, type: i32)
pub fn set_input_type(&self, type: i32)
使用为 EditorInfo.inputType 定义的常量设置内容的类型。这将通过调用 setKeyListener(KeyListener) 来更改键侦听器,以匹配给定的内容类型。如果给定的内容类型是 EditorInfo.TYPE_NULL,则不会为此文本视图显示软键盘。
请注意,如果更改输入类型的 EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE 标志,则显示的最大行数(请参阅 setMaxLines(int))将被修改。
type
输入类型。
Sourcepub fn get_input_type(&self) -> i32
pub fn get_input_type(&self) -> i32
获取可编辑内容的类型。
Sourcepub fn add_text_changed_listener<TW: TextWatcher>(&self, watcher: &TW)
pub fn add_text_changed_listener<TW: TextWatcher>(&self, watcher: &TW)
将 TextWatcher 添加到此 TextView 的文本发生变化时调用其方法的列表中。
在 1.0 中,TextWatcher.afterTextChanged 方法在 setText 调用后被错误地未调用。现在,如果有任何文本更改侦听器执行 setText 会强制缓冲区类型为可编辑(否则不会为可编辑)并调用此方法。
watcher
文字监视器。
Sourcepub fn remove_text_changed_listener<TW: TextWatcher>(&self, watcher: &TW)
pub fn remove_text_changed_listener<TW: TextWatcher>(&self, watcher: &TW)
从TextView的文本改变时会被调用其方法的TextWatcher列表中移除指定的TextWatcher。
watcher
文字监视器。
Sourcepub fn set_on_editor_action_listener<L: TextView_OnEditorActionListener>(
&self,
l: &L,
)
pub fn set_on_editor_action_listener<L: TextView_OnEditorActionListener>( &self, l: &L, )
设置一个特殊侦听器,在文本视图上执行操作时调用。当按下回车键或用户选择提供给 IME 的操作时,将调用此侦听器。 设置此项意味着普通硬键事件不会在文本视图中插入换行符,即使它是多行的;但是,按住 ALT 修饰键将允许用户插入换行符。
Methods from Deref<Target = View>§
pub const NO_ID: i32 = -1i32
pub const LAST_APP_AUTOFILL_ID: i32 = 1_073_741_823i32
pub const VISIBLE: i32 = 0i32
pub const INVISIBLE: i32 = 4i32
pub const GONE: i32 = 8i32
Sourcepub fn announce_for_accessibility<CS: CharSequence>(&self, text: &CS)
pub fn announce_for_accessibility<CS: CharSequence>(&self, text: &CS)
发送 AccessibilityEvent 的便捷方法。TYPE_ANNOUNCEMENT AccessibilityEvent 建议无障碍服务向其用户宣布指定的文本。
注意:使用此 API 生成的事件不具有语义含义,仅适用于特殊情况。应用通常可以通过准确提供其 UI 的语义来实现正确的无障碍行为。它们不需要指定向用户宣布的具体内容。一般来说,只宣布转换,不要为按钮按下等简单操作生成确认消息。相反,请简明扼要地标记控件,对于重大的 UI 更改(如窗口更改),请使用 android.app.Activity.setTitle(CharSequence) 和 setAccessibilityPaneTitle(CharSequence)。使用 setAccessibilityLiveRegion(int) 通知用户用户界面内关键视图的更改。这些仍应谨慎使用,因为它们可能会在每次更新视图时生成通知。
text
通知文本。
Sourcepub fn get_height(&self) -> i32
pub fn get_height(&self) -> i32
返回视图的高度。 返回:视图的高度(以像素为单位)。
Sourcepub fn request_focus(&self) -> bool
pub fn request_focus(&self) -> bool
调用此操作可以尝试将焦点集中到特定视图或其子视图之一。如果视图不可聚焦(isFocusable返回false),或者由于其他条件而无法聚焦(当设备处于触摸模式、不可见、未启用或没有大小时,在触摸模式下无法聚焦(isForusableInTouchMode)),则视图实际上不会聚焦。另请参阅focusSearch(int),这是用来表示有焦点,并希望视图的父母寻找下一个焦点的方法。这相当于用参数FOCUS_DOWN和null调用requestFocus(int, Rect)。 返回:这个视图或它的一个后代是否真的成为焦点。
Sourcepub fn clear_focus(&self)
pub fn clear_focus(&self)
当此视图想要放弃焦点时调用。如果焦点被清除,则调用 onFocusChanged(boolean, int, Rect)。 注意:当不处于触摸模式时,框架将在焦点清除后尝试将焦点放在从顶部开始的第一个可聚焦视图上。因此,如果此视图是从顶部开始的第一个可获得焦点的视图,则将调用与清除焦点相关的所有回调,之后框架将焦点放在此视图上。
Sourcepub fn find_focus(&self) -> Option<Self>
pub fn find_focus(&self) -> Option<Self>
在以此视图为根的层次结构中查找当前具有焦点的视图。 返回:当前具有焦点的视图,如果找不到焦点视图,则返回 null。
Sourcepub fn is_activated(&self) -> bool
pub fn is_activated(&self) -> bool
指示此视图的激活状态。 返回:如果视图已激活,则返回 true,否则返回 false
Sourcepub fn set_activated(&self, activated: bool)
pub fn set_activated(&self, activated: bool)
更改此视图的激活状态。视图可以激活也可以不激活。请注意,激活与选择不同。选择是一种瞬时属性,表示用户当前正在与之交互的视图(层次结构)。激活是一种长期状态,用户可以将视图移入或移出。例如,在启用单选或多选的列表视图中,当前选择集中的视图处于激活状态。(嗯,是的,我们对这里的术语深感抱歉。)激活状态会向下传播到设置该状态的视图的子级。
activated
如果必须激活视图,则为 true,否则为 false
Sourcepub fn get_x(&self) -> f32
pub fn get_x(&self) -> f32
此视图的可视 x 位置(以像素为单位)。这相当于 TranslationX 属性加上当前 Left 属性。 返回:此视图的可视 x 位置(以像素为单位)。
Sourcepub fn set_x(&self, x: f32)
pub fn set_x(&self, x: f32)
设置此视图的可视 x 位置(以像素为单位)。这相当于将 TranslationX 属性设置为传入的 x 值与当前 left 属性之间的差值。
x
此视图的可视 x 位置(以像素为单位)。
Sourcepub fn get_y(&self) -> f32
pub fn get_y(&self) -> f32
此视图的视觉 y 位置(以像素为单位)。这相当于 TranslationY 属性加上当前的 Top 属性。 返回:此视图的视觉 y 位置(以像素为单位)。
Sourcepub fn set_y(&self, y: f32)
pub fn set_y(&self, y: f32)
设置此视图的视觉 y 位置(以像素为单位)。这相当于将 TranslationY 属性设置为传入的 y 值与当前 top 属性之间的差值。
y
此视图的视觉 y 位置(以像素为单位)。
Sourcepub fn find_view_by_id(&self, id: i32) -> Option<Self>
pub fn find_view_by_id(&self, id: i32) -> Option<Self>
查找具有给定 ID 的第一个后代视图,如果 ID 与 getId() 匹配,则查找视图本身,如果 ID 无效 (< 0) 或层次结构中没有匹配的视图,则返回 null。
注意:在大多数情况下 - 取决于编译器支持 - 生成的视图会自动转换为目标类类型。如果目标类类型不受约束,则可能需要显式转换。
返回:如果找到,则返回具有给定 ID 的视图,否则返回 null
id
要搜索的 ID
Sourcepub fn get_content_description<CS: CharSequence>(&self) -> Option<CS>
pub fn get_content_description<CS: CharSequence>(&self) -> Option<CS>
返回视图的内容描述。 注意:不要覆盖此方法,因为它不会影响呈现给无障碍服务的内容描述。您必须调用 setContentDescription(CharSequence) 来修改内容描述。 返回:内容描述
Sourcepub fn set_content_description<CS: CharSequence>(
&self,
content_description: Option<CS>,
)
pub fn set_content_description<CS: CharSequence>( &self, content_description: Option<CS>, )
设置视图的内容描述。内容描述简要描述视图,主要用于辅助功能支持,以确定应如何向用户呈现视图。对于没有文本表示的视图(如 android.widget.ImageButton),有用的内容描述会解释视图的作用。例如,用于拨打电话的带有电话图标的图像按钮可以使用“呼叫”作为其内容描述。用于保存文件的软盘图像可以使用“保存”。这应该省略角色或状态。角色是指视图的用户界面元素类型,例如按钮或复选框。状态是指视图经常变化的属性,例如按钮的开/关状态或音量滑块的音频级别。内容描述更新并不频繁,并且在元素的语义内容(而不是状态)发生变化时使用。例如,在音乐播放期间,播放按钮可能会更改为暂停按钮。
content_description
内容描述。
Sourcepub fn set_on_click_listener<L: View_OnClickListener + JProxy>(&self, l: &L)
pub fn set_on_click_listener<L: View_OnClickListener + JProxy>(&self, l: &L)
单击此视图时注册要调用的回调。如果此视图不可点击,则将设为可点击。
l
将运行的回调
Sourcepub fn set_on_long_click_listener<L: View_OnLongClickListener + JProxy>(
&self,
l: &L,
)
pub fn set_on_long_click_listener<L: View_OnLongClickListener + JProxy>( &self, l: &L, )
注册一个回调,当此视图被点击并按住时调用。如果此视图不是长按可点击的,则变为长按可点击的。
l
将运行的回调
Sourcepub fn get_layout_params(&self) -> Option<ViewGroup_LayoutParams>
pub fn get_layout_params(&self) -> Option<ViewGroup_LayoutParams>
获取与此视图关联的 LayoutParams。所有视图都应具有布局参数。这些参数为此视图的父级提供参数,指定应如何排列。 ViewGroup.LayoutParams 有许多子类,这些子类对应于负责排列其子级的 ViewGroup 的不同子类。如果此视图未附加到父 ViewGroup 或 setLayoutParams(ViewGroup.LayoutParams) 未成功调用,则此方法可能返回 null。当视图附加到父 ViewGroup 时,此方法不得返回 null。 返回:与此视图关联的 LayoutParams,如果尚未设置参数,则返回 null
Sourcepub fn set_layout_params(&self, params: &ViewGroup_LayoutParams)
pub fn set_layout_params(&self, params: &ViewGroup_LayoutParams)
设置与此视图相关的布局参数。这些参数为该视图的父级提供参数,指定应如何排列。ViewGroup 有许多子类。LayoutParams,这些对应于负责排列其子级的 ViewGroup 的不同子类。
params
此视图的布局参数,不能为空
Sourcepub fn set_visibility(&self, visibility: i32)
pub fn set_visibility(&self, visibility: i32)
设置此视图的可见性状态。
visibility
VISIBLE、INVISIBLE 或 GONE 之一。
Sourcepub fn get_visibility(&self) -> i32
pub fn get_visibility(&self) -> i32
返回此视图的可见性状态。 返回:VISIBLE、INVISIBLE 或 GONE 之一。
Sourcepub fn perform_click(&self) -> bool
pub fn perform_click(&self) -> bool
如果已定义,则调用此视图的 OnClickListener。执行与点击相关的所有常规操作:报告可访问性事件、播放声音等。 返回:如果已分配一个被调用的 OnClickListener,则返回 True,否则返回 false。
Sourcepub fn is_clickable(&self) -> bool
pub fn is_clickable(&self) -> bool
指示此视图是否对点击事件作出反应。如果视图可点击,则返回 true,否则返回 false
Sourcepub fn set_clickable(&self, clickable: bool)
pub fn set_clickable(&self, clickable: bool)
启用或禁用此视图的点击事件。当视图可点击时,每次点击时它的状态都会更改为“按下”。子类应将视图设置为可点击,以便对用户的点击做出视觉反应。
clickable
true 表示视图可点击,否则为 false
Sourcepub fn set_allow_click_when_disabled(&self, clickable_when_disabled: bool)
pub fn set_allow_click_when_disabled(&self, clickable_when_disabled: bool)
禁用时启用或禁用此视图的单击事件。
clickable_when_disabled
true使视图可单击,否则为false
Sourcepub fn is_long_clickable(&self) -> bool
pub fn is_long_clickable(&self) -> bool
指示此视图是否对长按事件作出反应。 返回:如果视图可长按,则返回 true,否则返回 false
Sourcepub fn set_long_clickable(&self, long_clickable: bool)
pub fn set_long_clickable(&self, long_clickable: bool)
启用或禁用此视图的长按事件。当视图可长按时,它会对用户按住按钮的时间长于点击做出反应。此事件可以启动侦听器或上下文菜单。
long_clickable
true 表示视图可长按,否则为 false
Sourcepub fn is_context_clickable(&self) -> bool
pub fn is_context_clickable(&self) -> bool
指示此视图是否对上下文点击反应。 返回:如果视图是上下文可单击的,则为false,否则否则
Sourcepub fn set_context_clickable(&self, context_clickable: bool)
pub fn set_context_clickable(&self, context_clickable: bool)
启用或禁用此视图的上下文点击。此事件可以启动侦听器。
context_clickable
true 表示使视图对上下文点击做出反应,否则为 false
Sourcepub fn has_on_click_listeners(&self) -> bool
pub fn has_on_click_listeners(&self) -> bool
返回此视图是否具有附加的 OnClickListener。如果有侦听器,则返回 true,如果没有,则返回 false。
Sourcepub fn has_on_long_click_listeners(&self) -> bool
pub fn has_on_long_click_listeners(&self) -> bool
返回此视图是否具有附加的 OnLongClickListener。如果有侦听器,则返回 true,如果没有,则返回 false。
Sourcepub fn get_keep_screen_on(&self) -> bool
pub fn get_keep_screen_on(&self) -> bool
返回屏幕是否应保持开启,对应于 KEEP_SCREEN_ON 的当前值。 返回:如果设置了 KEEP_SCREEN_ON,则返回 true。
Sourcepub fn set_keep_screen_on(&self, keep_screen_on: bool)
pub fn set_keep_screen_on(&self, keep_screen_on: bool)
控制屏幕是否应保持开启,修改 KEEP_SCREEN_ON 的值。
keep_screen_on
提供 true 以设置 KEEP_SCREEN_ON。
Sourcepub fn get_parent<VP: ViewParent>(&self) -> Option<VP>
pub fn get_parent<VP: ViewParent>(&self) -> Option<VP>
获取此视图的父级。请注意,父级是 ViewParent,不一定是 View。 返回:此视图的父级。
Sourcepub fn set_on_key_listener<L: View_OnKeyListener>(&self, l: &L)
pub fn set_on_key_listener<L: View_OnKeyListener>(&self, l: &L)
注册一个回调,当此视图中按下硬件键时调用该回调。软件输入法中的按键通常不会触发此侦听器的方法。
l
要附加到此视图的按键侦听器
Sourcepub fn has_ime_focus(&self) -> bool
pub fn has_ime_focus(&self) -> bool
如果此视图位于当前具有 IME 可聚焦状态的窗口中,则为 true。
Sourcepub fn has_nested_scrolling_parent(&self) -> bool
pub fn has_nested_scrolling_parent(&self) -> bool
如果此视图具有嵌套滚动父级,则返回 true。 嵌套滚动父级的存在表明此视图已启动嵌套滚动,并且已被视图层次结构中更高层次的祖先视图接受。 返回:此视图是否具有嵌套滚动父级
Sourcepub fn get_tooltip<CS: CharSequence>(&self) -> Option<CS>
pub fn get_tooltip<CS: CharSequence>(&self) -> Option<CS>
二进制兼容性存根。当我们最终完成 O API 时将被删除。
Sourcepub fn get_tooltip_text<CS: CharSequence>(&self) -> Option<CS>
pub fn get_tooltip_text<CS: CharSequence>(&self) -> Option<CS>
返回视图的工具提示文本。 注意:不要重写此方法,因为它不会影响工具提示中显示的文本。您必须调用 setTooltipText(CharSequence) 来修改工具提示文本。 返回:工具提示文本
Sourcepub fn set_tooltip<CS: CharSequence>(&self, tooltip_text: Option<CS>)
pub fn set_tooltip<CS: CharSequence>(&self, tooltip_text: Option<CS>)
二进制兼容性存根。当我们最终完成 O API 时将被删除。
Sourcepub fn set_tooltip_text<CS: CharSequence>(&self, tooltip_text: Option<CS>)
pub fn set_tooltip_text<CS: CharSequence>(&self, tooltip_text: Option<CS>)
设置工具提示文本,该文本将显示在视图旁边的小弹出窗口中。工具提示将显示在:
长按时,除非另有处理(通过 OnLongClickListener 或上下文菜单)。
悬停时,在指针停止移动后的短暂延迟后
注意:不要覆盖此方法,因为它不会影响工具提示中显示的文本。
tooltip_text
工具提示文本,如果不需要工具提示,则为 null。
Sourcepub fn post_delayed<R: Runnable>(&self, action: &R, delay_millis: u64) -> bool
pub fn post_delayed<R: Runnable>(&self, action: &R, delay_millis: u64) -> bool
导致 Runnable 被添加到消息队列,在指定的时间过后运行。Runnable 将在用户界面线程上运行。
返回:如果 Runnable 成功放入消息队列,则返回 true。如果失败,则返回 false,通常是因为处理消息队列的 looper 正在退出。请注意,结果为 true 并不意味着 Runnable 将被处理 - 如果 looper 在消息传递时间发生之前退出,则消息将被丢弃。
action
将执行的 Runnable。
delay_millis
Runnable 执行前的延迟(以毫秒为单位)。
Sourcepub fn set_handwriting_delegator_callback<R: Runnable>(
&self,
callback: Option<&R>,
)
pub fn set_handwriting_delegator_callback<R: Runnable>( &self, callback: Option<&R>, )
设置一个回调,当触控笔 MotionEvent 在该视图的边界内发生时,应调用该回调。回调将从 UI 线程调用。
设置回调允许此视图充当手写委托器,以便可以通过触控笔在此委托器视图上的移动来启动委托编辑器视图的手写模式。回调实现应显示并聚焦委托编辑器视图。
如果为 isHandwritingDelegate() 返回 true 的视图在相同地触控笔 MotionEvent 序列正在进行时创建输入连接,则将为该视图启动手写模式。
一个常见的用例是自定义视图看起来像文本编辑器,但实际上不支持文本编辑本身,单击自定义视图会导致显示 EditText。为了在这种情况下支持手写启动,可以在自定义视图上调用此方法以将其配置为委托器。
EditText 应调用 setIsHandwritingDelegate 将其设置为委托。回调实现通常与显示 EditText 的单击侦听器实现相同。
如果传递了 null,则此视图将不再充当手写启动委托人。
callback
当触控笔 MotionEvent 在该视图的范围内发生时应调用的回调
Sourcepub fn get_handwriting_delegator_callback<R: Runnable>(&self) -> Option<R>
pub fn get_handwriting_delegator_callback<R: Runnable>(&self) -> Option<R>
返回由 setHandwritingDelegatorCallback 设置的回调,当触控笔 MotionEvent 在该视图的范围内发生时应调用该回调。该回调只能从 UI 线程调用。
Sourcepub fn post<R: Runnable>(&self, action: &R) -> bool
pub fn post<R: Runnable>(&self, action: &R) -> bool
导致 Runnable 被添加到消息队列。Runnable 将在用户界面线程上运行。
返回:如果 Runnable 成功放入消息队列,则返回 true。如果失败,则返回 false,通常是因为处理消息队列的循环程序正在退出。
action
将执行的 Runnable。
Sourcepub fn post_on_animation<R: Runnable>(&self, action: &R)
pub fn post_on_animation<R: Runnable>(&self, action: &R)
使 Runnable 在下一个动画时间步骤执行。Runnable 将在用户界面线程上运行。
action
将执行的 Runnable。
Sourcepub fn post_on_animation_delayed<R: Runnable>(
&self,
action: &R,
delay_millis: u64,
)
pub fn post_on_animation_delayed<R: Runnable>( &self, action: &R, delay_millis: u64, )
使 Runnable 在指定的时间量过去后在下一个动画时间步骤执行。 Runnable 将在用户界面线程上运行。
action
将执行的 Runnable。
delay_millis
Runnable 执行前的延迟(以毫秒为单位)。
Sourcepub fn remove_callbacks<R: Runnable>(&self, action: &R) -> bool
pub fn remove_callbacks<R: Runnable>(&self, action: &R) -> bool
从消息队列中移除指定的 Runnable。
返回:如果此视图可以要求 Handler 移除 Runnable,则返回 true,否则返回 false。当返回值为 true 时,Runnable 可能已从消息队列中实际移除(例如,如果 Runnable 尚未在队列中)。
action
要从消息处理队列中移除的 Runnable