droid_wrap::android::widget

Struct TextView

Source
pub struct TextView { /* private fields */ }
Expand description

向用户显示文本的用户界面元素。要提供用户可编辑的文本,请参阅 EditText。 以下代码示例展示了一种典型用法,其中包含 XML 布局和用于修改文本视图内容的代码: <LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android” android:layout_width=“match_parent” android:layout_height=“match_parent”> <TextView android:id=“@+id/text_view_id” android:layout_height=“wrap_content” android:layout_width=“wrap_content” android:text=“@string/hello” /> </LinearLayout> 此代码示例演示了如何修改上一个 XML 布局中定义的文本视图的内容: public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView helloTextView = (TextView) findViewById(R.id.text_view_id); helloTextView.setText(R.string.user_greeting); } } 要自定义 TextView 的外观,请参阅样式和主题。 XML 属性请参阅 TextView 属性、视图属性

Implementations§

Source§

impl TextView

Source

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 要显示的文本

Source

pub fn get_text<CS: CharSequence>(&self) -> Option<CS>

返回 TextView 正在显示的文本。如果使用 BufferType.SPANNABLE 或 BufferType.EDITABLE 参数调用 setText(CharSequence),则可以将此方法的返回值分别转换为 Spannable 或 Editable。返回值的内容不应修改。如果您想要一个可修改的内容,您应该先制作自己的副本。 返回:文本视图显示的文本。

Source

pub fn set_hint<CS: CharSequence>(&self, hint: Option<CS>)

设置 TextView 的文本为空时显示的文本。Null 表示使用普通的空文本。Hint 目前不参与确定视图的大小。 hint 要显示的提示文字。

Source

pub fn get_hint<CS: CharSequence>(&self) -> Option<CS>

返回TextView的文本为空时显示的提示。

Source

pub fn get_default_editable(&self) -> bool

子类会重写此功能以指定它们默认具有 KeyListener,即使在 XML 选项中没有特别调用。

Source

pub fn set_input_type(&self, type: i32)

使用为 EditorInfo.inputType 定义的常量设置内容的类型。这将通过调用 setKeyListener(KeyListener) 来更改键侦听器,以匹配给定的内容类型。如果给定的内容类型是 EditorInfo.TYPE_NULL,则不会为此文本视图显示软键盘。 请注意,如果更改输入类型的 EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE 标志,则显示的最大行数(请参阅 setMaxLines(int))将被修改。 type 输入类型。

Source

pub fn get_input_type(&self) -> i32

获取可编辑内容的类型。

Source

pub fn add_text_changed_listener<TW: TextWatcher>(&self, watcher: &TW)

将 TextWatcher 添加到此 TextView 的文本发生变化时调用其方法的列表中。 在 1.0 中,TextWatcher.afterTextChanged 方法在 setText 调用后被错误地未调用。现在,如果有任何文本更改侦听器执行 setText 会强制缓冲区类型为可编辑(否则不会为可编辑)并调用此方法。 watcher 文字监视器。

Source

pub fn remove_text_changed_listener<TW: TextWatcher>(&self, watcher: &TW)

从TextView的文本改变时会被调用其方法的TextWatcher列表中移除指定的TextWatcher。 watcher 文字监视器。

Source

pub fn set_on_editor_action_listener<L: TextView_OnEditorActionListener>( &self, l: &L, )

设置一个特殊侦听器,在文本视图上执行操作时调用。当按下回车键或用户选择提供给 IME 的操作时,将调用此侦听器。 设置此项意味着普通硬键事件不会在文本视图中插入换行符,即使它是多行的;但是,按住 ALT 修饰键将允许用户插入换行符。

Methods from Deref<Target = View>§

Source

pub const NO_ID: i32 = -1i32

Source

pub const LAST_APP_AUTOFILL_ID: i32 = 1_073_741_823i32

Source

pub const VISIBLE: i32 = 0i32

Source

pub const INVISIBLE: i32 = 4i32

Source

pub const GONE: i32 = 8i32

Source

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 通知文本。

Source

pub fn get_width(&self) -> i32

返回视图的宽度。 返回:视图的宽度(以像素为单位)。

Source

pub fn get_height(&self) -> i32

返回视图的高度。 返回:视图的高度(以像素为单位)。

Source

pub fn request_focus(&self) -> bool

调用此操作可以尝试将焦点集中到特定视图或其子视图之一。如果视图不可聚焦(isFocusable返回false),或者由于其他条件而无法聚焦(当设备处于触摸模式、不可见、未启用或没有大小时,在触摸模式下无法聚焦(isForusableInTouchMode)),则视图实际上不会聚焦。另请参阅focusSearch(int),这是用来表示有焦点,并希望视图的父母寻找下一个焦点的方法。这相当于用参数FOCUS_DOWN和null调用requestFocus(int, Rect)。 返回:这个视图或它的一个后代是否真的成为焦点。

Source

pub fn clear_focus(&self)

当此视图想要放弃焦点时调用。如果焦点被清除,则调用 onFocusChanged(boolean, int, Rect)。 注意:当不处于触摸模式时,框架将在焦点清除后尝试将焦点放在从顶部开始的第一个可聚焦视图上。因此,如果此视图是从顶部开始的第一个可获得焦点的视图,则将调用与清除焦点相关的所有回调,之后框架将焦点放在此视图上。

Source

pub fn find_focus(&self) -> Option<Self>

在以此视图为根的层次结构中查找当前具有焦点的视图。 返回:当前具有焦点的视图,如果找不到焦点视图,则返回 null。

Source

pub fn is_activated(&self) -> bool

指示此视图的激活状态。 返回:如果视图已激活,则返回 true,否则返回 false

Source

pub fn set_activated(&self, activated: bool)

更改此视图的激活状态。视图可以激活也可以不激活。请注意,激活与选择不同。选择是一种瞬时属性,表示用户当前正在与之交互的视图(层次结构)。激活是一种长期状态,用户可以将视图移入或移出。例如,在启用单选或多选的列表视图中,当前选择集中的视图处于激活状态。(嗯,是的,我们对这里的术语深感抱歉。)激活状态会向下传播到设置该状态的视图的子级。 activated 如果必须激活视图,则为 true,否则为 false

Source

pub fn get_x(&self) -> f32

此视图的可视 x 位置(以像素为单位)。这相当于 TranslationX 属性加上当前 Left 属性。 返回:此视图的可视 x 位置(以像素为单位)。

Source

pub fn set_x(&self, x: f32)

设置此视图的可视 x 位置(以像素为单位)。这相当于将 TranslationX 属性设置为传入的 x 值与当前 left 属性之间的差值。 x 此视图的可视 x 位置(以像素为单位)。

Source

pub fn get_y(&self) -> f32

此视图的视觉 y 位置(以像素为单位)。这相当于 TranslationY 属性加上当前的 Top 属性。 返回:此视图的视觉 y 位置(以像素为单位)。

Source

pub fn set_y(&self, y: f32)

设置此视图的视觉 y 位置(以像素为单位)。这相当于将 TranslationY 属性设置为传入的 y 值与当前 top 属性之间的差值。 y 此视图的视觉 y 位置(以像素为单位)。

Source

pub fn find_view_by_id(&self, id: i32) -> Option<Self>

查找具有给定 ID 的第一个后代视图,如果 ID 与 getId() 匹配,则查找视图本身,如果 ID 无效 (< 0) 或层次结构中没有匹配的视图,则返回 null。 注意:在大多数情况下 - 取决于编译器支持 - 生成的视图会自动转换为目标类类型。如果目标类类型不受约束,则可能需要显式转换。 返回:如果找到,则返回具有给定 ID 的视图,否则返回 null id 要搜索的 ID

Source

pub fn get_content_description<CS: CharSequence>(&self) -> Option<CS>

返回视图的内容描述。 注意:不要覆盖此方法,因为它不会影响呈现给无障碍服务的内容描述。您必须调用 setContentDescription(CharSequence) 来修改内容描述。 返回:内容描述

Source

pub fn set_content_description<CS: CharSequence>( &self, content_description: Option<CS>, )

设置视图的内容描述。内容描述简要描述视图,主要用于辅助功能支持,以确定应如何向用户呈现视图。对于没有文本表示的视图(如 android.widget.ImageButton),有用的内容描述会解释视图的作用。例如,用于拨打电话的带有电话图标的图像按钮可以使用“呼叫”作为其内容描述。用于保存文件的软盘图像可以使用“保存”。这应该省略角色或状态。角色是指视图的用户界面元素类型,例如按钮或复选框。状态是指视图经常变化的属性,例如按钮的开/关状态或音量滑块的音频级别。内容描述更新并不频繁,并且在元素的语义内容(而不是状态)发生变化时使用。例如,在音乐播放期间,播放按钮可能会更改为暂停按钮。 content_description 内容描述。

Source

pub fn set_id(&self, id: i32)

设置此视图的标识符。标识符在此视图的层次结构中不必唯一。标识符应为正数。 id 用于标识视图的数字

Source

pub fn get_id(&self) -> i32

返回此视图的标识符。 返回:用于标识视图的正整数,如果视图没有 ID,则返回 NO_ID

Source

pub fn set_on_click_listener<L: View_OnClickListener + JProxy>(&self, l: &L)

单击此视图时注册要调用的回调。如果此视图不可点击,则将设为可点击。 l 将运行的回调

Source

pub fn set_on_long_click_listener<L: View_OnLongClickListener + JProxy>( &self, l: &L, )

注册一个回调,当此视图被点击并按住时调用。如果此视图不是长按可点击的,则变为长按可点击的。 l 将运行的回调

Source

pub fn get_layout_params(&self) -> Option<ViewGroup_LayoutParams>

获取与此视图关联的 LayoutParams。所有视图都应具有布局参数。这些参数为此视图的父级提供参数,指定应如何排列。 ViewGroup.LayoutParams 有许多子类,这些子类对应于负责排列其子级的 ViewGroup 的不同子类。如果此视图未附加到父 ViewGroup 或 setLayoutParams(ViewGroup.LayoutParams) 未成功调用,则此方法可能返回 null。当视图附加到父 ViewGroup 时,此方法不得返回 null。 返回:与此视图关联的 LayoutParams,如果尚未设置参数,则返回 null

Source

pub fn set_layout_params(&self, params: &ViewGroup_LayoutParams)

设置与此视图相关的布局参数。这些参数为该视图的父级提供参数,指定应如何排列。ViewGroup 有许多子类。LayoutParams,这些对应于负责排列其子级的 ViewGroup 的不同子类。 params 此视图的布局参数,不能为空

Source

pub fn set_visibility(&self, visibility: i32)

设置此视图的可见性状态。 visibility VISIBLE、INVISIBLE 或 GONE 之一。

Source

pub fn get_visibility(&self) -> i32

返回此视图的可见性状态。 返回:VISIBLE、INVISIBLE 或 GONE 之一。

Source

pub fn perform_click(&self) -> bool

如果已定义,则调用此视图的 OnClickListener。执行与点击相关的所有常规操作:报告可访问性事件、播放声音等。 返回:如果已分配一个被调用的 OnClickListener,则返回 True,否则返回 false。

Source

pub fn is_clickable(&self) -> bool

指示此视图是否对点击事件作出反应。如果视图可点击,则返回 true,否则返回 false

Source

pub fn set_clickable(&self, clickable: bool)

启用或禁用此视图的点击事件。当视图可点击时,每次点击时它的状态都会更改为“按下”。子类应将视图设置为可点击,以便对用户的点击做出视觉反应。 clickable true 表示视图可点击,否则为 false

Source

pub fn set_allow_click_when_disabled(&self, clickable_when_disabled: bool)

禁用时启用或禁用此视图的单击事件。 clickable_when_disabled true使视图可单击,否则为false

Source

pub fn is_long_clickable(&self) -> bool

指示此视图是否对长按事件作出反应。 返回:如果视图可长按,则返回 true,否则返回 false

Source

pub fn set_long_clickable(&self, long_clickable: bool)

启用或禁用此视图的长按事件。当视图可长按时,它会对用户按住按钮的时间长于点击做出反应。此事件可以启动侦听器或上下文菜单。 long_clickable true 表示视图可长按,否则为 false

Source

pub fn is_context_clickable(&self) -> bool

指示此视图是否对上下文点击反应。 返回:如果视图是上下文可单击的,则为false,否则否则

Source

pub fn set_context_clickable(&self, context_clickable: bool)

启用或禁用此视图的上下文点击。此事件可以启动侦听器。 context_clickable true 表示使视图对上下文点击做出反应,否则为 false

Source

pub fn has_on_click_listeners(&self) -> bool

返回此视图是否具有附加的 OnClickListener。如果有侦听器,则返回 true,如果没有,则返回 false。

Source

pub fn has_on_long_click_listeners(&self) -> bool

返回此视图是否具有附加的 OnLongClickListener。如果有侦听器,则返回 true,如果没有,则返回 false。

Source

pub fn get_keep_screen_on(&self) -> bool

返回屏幕是否应保持开启,对应于 KEEP_SCREEN_ON 的当前值。 返回:如果设置了 KEEP_SCREEN_ON,则返回 true。

Source

pub fn set_keep_screen_on(&self, keep_screen_on: bool)

控制屏幕是否应保持开启,修改 KEEP_SCREEN_ON 的值。 keep_screen_on 提供 true 以设置 KEEP_SCREEN_ON。

Source

pub fn get_parent<VP: ViewParent>(&self) -> Option<VP>

获取此视图的父级。请注意,父级是 ViewParent,不一定是 View。 返回:此视图的父级。

Source

pub fn set_on_key_listener<L: View_OnKeyListener>(&self, l: &L)

注册一个回调,当此视图中按下硬件键时调用该回调。软件输入法中的按键通常不会触发此侦听器的方法。 l 要附加到此视图的按键侦听器

Source

pub fn has_ime_focus(&self) -> bool

如果此视图位于当前具有 IME 可聚焦状态的窗口中,则为 true。

Source

pub fn has_nested_scrolling_parent(&self) -> bool

如果此视图具有嵌套滚动父级,则返回 true。 嵌套滚动父级的存在表明此视图已启动嵌套滚动,并且已被视图层次结构中更高层次的祖先视图接受。 返回:此视图是否具有嵌套滚动父级

Source

pub fn get_tooltip<CS: CharSequence>(&self) -> Option<CS>

二进制兼容性存根。当我们最终完成 O API 时将被删除。

Source

pub fn get_tooltip_text<CS: CharSequence>(&self) -> Option<CS>

返回视图的工具提示文本。 注意:不要重写此方法,因为它不会影响工具提示中显示的文本。您必须调用 setTooltipText(CharSequence) 来修改工具提示文本。 返回:工具提示文本

Source

pub fn set_tooltip<CS: CharSequence>(&self, tooltip_text: Option<CS>)

二进制兼容性存根。当我们最终完成 O API 时将被删除。

Source

pub fn set_tooltip_text<CS: CharSequence>(&self, tooltip_text: Option<CS>)

设置工具提示文本,该文本将显示在视图旁边的小弹出窗口中。工具提示将显示在: 长按时,除非另有处理(通过 OnLongClickListener 或上下文菜单)。 悬停时,在指针停止移动后的短暂延迟后 注意:不要覆盖此方法,因为它不会影响工具提示中显示的文本。 tooltip_text 工具提示文本,如果不需要工具提示,则为 null。

Source

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 执行前的延迟(以毫秒为单位)。

Source

pub fn set_handwriting_delegator_callback<R: Runnable>( &self, callback: Option<&R>, )

设置一个回调,当触控笔 MotionEvent 在该视图的边界内发生时,应调用该回调。回调将从 UI 线程调用。 设置回调允许此视图充当手写委托器,以便可以通过触控笔在此委托器视图上的移动来启动委托编辑器视图的手写模式。回调实现应显示并聚焦委托编辑器视图。 如果为 isHandwritingDelegate() 返回 true 的视图在相同地触控笔 MotionEvent 序列正在进行时创建输入连接,则将为该视图启动手写模式。 一个常见的用例是自定义视图看起来像文本编辑器,但实际上不支持文本编辑本身,单击自定义视图会导致显示 EditText。为了在这种情况下支持手写启动,可以在自定义视图上调用此方法以将其配置为委托器。 EditText 应调用 setIsHandwritingDelegate 将其设置为委托。回调实现通常与显示 EditText 的单击侦听器实现相同。 如果传递了 null,则此视图将不再充当手写启动委托人。 callback 当触控笔 MotionEvent 在该视图的范围内发生时应调用的回调

Source

pub fn get_handwriting_delegator_callback<R: Runnable>(&self) -> Option<R>

返回由 setHandwritingDelegatorCallback 设置的回调,当触控笔 MotionEvent 在该视图的范围内发生时应调用该回调。该回调只能从 UI 线程调用。

Source

pub fn post<R: Runnable>(&self, action: &R) -> bool

导致 Runnable 被添加到消息队列。Runnable 将在用户界面线程上运行。 返回:如果 Runnable 成功放入消息队列,则返回 true。如果失败,则返回 false,通常是因为处理消息队列的循环程序正在退出。 action 将执行的 Runnable。

Source

pub fn post_on_animation<R: Runnable>(&self, action: &R)

使 Runnable 在下一个动画时间步骤执行。Runnable 将在用户界面线程上运行。 action 将执行的 Runnable。

Source

pub fn post_on_animation_delayed<R: Runnable>( &self, action: &R, delay_millis: u64, )

使 Runnable 在指定的时间量过去后在下一个动画时间步骤执行。 Runnable 将在用户界面线程上运行。 action 将执行的 Runnable。 delay_millis Runnable 执行前的延迟(以毫秒为单位)。

Source

pub fn remove_callbacks<R: Runnable>(&self, action: &R) -> bool

从消息队列中移除指定的 Runnable。 返回:如果此视图可以要求 Handler 移除 Runnable,则返回 true,否则返回 false。当返回值为 true 时,Runnable 可能已从消息队列中实际移除(例如,如果 Runnable 尚未在队列中)。 action 要从消息处理队列中移除的 Runnable

Methods from Deref<Target = GlobalRef>§

Source

pub fn as_obj(&self) -> &JObject<'static>

Get the object from the global ref

This borrows the ref and prevents it from being dropped as long as the JObject sticks around.

Methods from Deref<Target = JObject<'static>>§

Source

pub fn as_raw(&self) -> *mut _jobject

Returns the raw JNI pointer.

Trait Implementations§

Source§

impl Debug for TextView

Source§

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

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

impl Deref for TextView

Source§

type Target = View

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl DerefMut for TextView

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl From<&GlobalRef> for TextView

Source§

fn from(obj: &GlobalRef) -> Self

Converts to this type from the input type.
Source§

impl Into<GlobalRef> for &TextView

Source§

fn into(self) -> GlobalRef

Converts this type into the (usually inferred) input type.
Source§

impl JObjNew for TextView

Source§

type Fields = ()

字段类型
Source§

fn _new(this: &GlobalRef, fields: Self::Fields) -> Self

从java对象创建本地对象。 this java对象引用。
Source§

fn null() -> Self
where Self: Sized, Self::Fields: Default,

创建空对象。
Source§

impl JObjRef for TextView

Source§

fn java_ref(&self) -> GlobalRef

获取java对象引用。
Source§

impl JType for TextView

Source§

const CLASS: &'static str = "android/widget/TextView"

java类的名称。
Source§

const OBJECT_SIG: &'static str = "Landroid/widget/TextView;"

对象的签名描述。
Source§

type Error = Error

错误类型。
Source§

const DIM: u8 = 0u8

数组维度,0表示不是数组
Source§

impl PartialEq for TextView

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl ToString for TextView

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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> 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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.