droid_wrap::android::view

Struct ViewGroup

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

ViewGroup 是一种特殊视图,可以包含其他视图(称为子视图)。视图组是布局和视图容器的基类。 此类还定义了 ViewGroup.LayoutParams 类,该类用作布局参数的基类。另请参阅 ViewGroup.LayoutParams 以了解布局属性。

开发者指南 有关创建用户界面布局的更多信息,请阅读 XML 布局开发者指南。以下是自定义 ViewGroup 的完整实现,它实现了简单的 android.widget.FrameLayout,并能够在左右边缘堆叠子视图。 @sample development/samples/ApiDemos/src/com/example/android/apis/view/CustomLayout.java 完整版 如果您正在实现示例中所示的 XML 布局属性,则这是它们在 res/values/attrs.xml 中的对应定义: @sample development/samples/ApiDemos/res/values/attrs.xml CustomLayout 最后,布局管理器可以在 XML 布局中使用,如下所示: @sample development/samples/ApiDemos/res/layout/custom_layout.xml 完整版

Implementations§

Source§

impl ViewGroup

Source

pub fn add_view(&self, child: &View)

添加子视图。如果子视图上尚未设置布局参数,则此 ViewGroup 的默认参数将设置在该子视图上。 注意:不要从 draw(Canvas)、onDraw(Canvas)、dispatchDraw(Canvas) 或任何相关方法调用此方法。 child 要添加的子视图

Source

pub fn remove_all_views(&self)

调用此方法可从 ViewGroup 中删除所有子视图。 注意:不要从 draw(Canvas)、onDraw(Canvas)、dispatchDraw(Canvas) 或任何相关方法调用此方法。

Source

pub fn remove_all_views_in_layout(&self)

当 ViewGroup 子类必须先知道其在屏幕上的大小,然后才能计算要渲染的子视图数量时,此方法会由 ViewGroup 子类调用,以从自身移除子视图。例如 Gallery 或 ListView,它们可能“有”50 个子视图,但实际上只渲染当前可容纳在屏幕上的对象内的子视图数量。除非您正在扩展 ViewGroup 并了解视图测量和布局管道,否则请不要调用此方法。 注意:不要从 draw(Canvas)、onDraw(Canvas)、dispatchDraw(Canvas) 或任何相关方法调用此方法。

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 ViewGroup

Source§

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

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

impl Deref for ViewGroup

Source§

type Target = View

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl DerefMut for ViewGroup

Source§

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

Mutably dereferences the value.
Source§

impl From<&GlobalRef> for ViewGroup

Source§

fn from(obj: &GlobalRef) -> Self

Converts to this type from the input type.
Source§

impl Into<GlobalRef> for &ViewGroup

Source§

fn into(self) -> GlobalRef

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

impl JObjNew for ViewGroup

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 ViewGroup

Source§

fn java_ref(&self) -> GlobalRef

获取java对象引用。
Source§

impl JType for ViewGroup

Source§

const CLASS: &'static str = "android/view/ViewGroup"

java类的名称。
Source§

const OBJECT_SIG: &'static str = "Landroid/view/ViewGroup;"

对象的签名描述。
Source§

type Error = Error

错误类型。
Source§

const DIM: u8 = 0u8

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

impl PartialEq for ViewGroup

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 ViewGroup

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl ViewManager for ViewGroup

Source§

fn add_view( &self, view: &View, params: &ViewGroup_LayoutParams, ) -> Result<(), <Self as JType>::Error>

将传递的 LayoutParams 分配给传递的 View,并将该视图添加到窗口。对于某些编程错误,例如在未移除第一个视图的情况下向窗口添加第二个视图,将抛出 WindowManager.BadTokenException。 如果窗口位于辅助显示器上并且找不到指定的显示器,则抛出 WindowManager.InvalidDisplayException(请参阅 android.app.Presentation)。 view 要添加到此窗口的视图。 params 要分配给视图的 LayoutParams。
Source§

const CLASS: &'static str = "android/view/ViewManager"

android/view/ViewManager
Source§

const OBJECT_SIG: &'static str = "Landroid/view/ViewManager;"

Landroid/view/ViewManager;
Source§

const DIM: u8 = 0u8

数组维度
Source§

impl ViewParent for ViewGroup

Source§

fn request_layout(&self)

当发生某些更改导致此视图父级的子级布局无效时调用。这将安排视图树的布局过程。
Source§

fn is_layout_requested(&self) -> bool

指示是否在此视图父级上请求布局。 返回:如果请求布局,则返回 true,否则返回 false
Source§

fn request_transparent_region(&self, child: &View)

当子视图希望视图层次结构收集透明区域并将其报告给窗口合成器时调用。在视图层次结构中“打”洞的视图(例如 SurfaceView)可以使用此 API 来提高系统的性能。当层次结构中不存在此类视图时,此优化是不必要的,并且可能会略微降低视图层次结构的性能。 child 请求透明区域计算的视图
Source§

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

如果父级存在则返回该父级,否则返回 null。 返回:ViewParent,如果此 ViewParent 没有父级则返回 null。
Source§

fn request_child_focus(&self, child: &View, focused: &View)

当此父级的子级需要焦点时调用 child 此 ViewParent 需要焦点的子级。此视图将包含焦点视图。它不一定是实际具有焦点的视图。 focused 实际具有焦点的子级后代视图
Source§

fn recompute_view_attributes(&self, child: &View)

告诉视图层次结构需要重新评估全局视图属性。 child 属性已更改的视图。
Source§

fn clear_child_focus(&self, child: &View)

当此父级的子级放弃焦点时调用 child 放弃焦点的视图
查找指定方向上想要获得焦点的最近视图 v 当前获得焦点的视图 direction FOCUS_UP、FOCUS_DOWN、FOCUS_LEFT 和 FOCUS_RIGHT 之一
Source§

fn bring_child_to_front(&self, child: &View)

更改子项的 z 顺序,使其位于所有其他子项之上。如果此容器使用顺序相关的布局方案(例如 LinearLayout),则此顺序更改可能会影响布局。在 android.os.Build.VERSION_CODES.KITKAT 之前,此方法应随后调用此父项的 requestLayout() 和 View.invalidate(),以强制父项使用新的子项顺序重新绘制。 child 要置于 z 顺序顶部的子项
Source§

fn show_context_menu_for_child(&self, original_view: &View) -> bool

显示指定视图或其祖先的上下文菜单。在大多数情况下,子类不需要覆盖此。但是,如果将子类直接添加到窗口管理器(例如,ViewManager.addView(View, ViewGroup.LayoutParams)),则它应该覆盖此并显示上下文菜单。 返回:如果显示上下文菜单,则返回 true,否则返回 false original_view 首次调用上下文菜单的源视图
Source§

fn child_drawable_state_changed(&self, child: &View)

当子项的可绘制状态发生改变时,将在父项上调用此方法。 child 可绘制状态发生改变的子项。
Source§

fn request_disallow_intercept_touch_event(&self, disallow_intercept: bool)

当子级不希望此父级及其祖先使用 ViewGroup.onInterceptTouchEvent(MotionEvent) 拦截触摸事件时调用。此父级应将此调用传递给其父级。此父级必须在触摸期间遵守此请求(即,仅在此父级收到向上或取消后清除标志。 disallow_intercept 如果子级不希望父级拦截触摸事件,则为 True。
Source§

fn child_has_transient_state_changed( &self, child: &View, has_transient_state: bool, )

当子视图现在具有或不再跟踪瞬态时调用。 “瞬态”是视图可能持有的任何状态,但不应反映在视图当前呈现的数据模型中。此状态仅影响视图本身向用户呈现的内容,例如正在进行的动画的当前状态或文本选择操作的状态。瞬态可用于向视图系统的其他组件提示特定视图正在跟踪复杂但封装的内容。例如,ListView 可能承认具有瞬态的列表项视图应保留在其位置或稳定项 ID 中,而不是将该视图视为可由后备适配器轻松替换。 这使得适配器实现更简单,而不需要跟踪正在进行的项目视图动画的状态,以便在意外回收和重新绑定附加项目视图时可以恢复它们。当子视图或其子树中的视图开始或结束内部瞬态跟踪时,将在父视图上调用此方法。 child 状态已改变的子视图 has_transient_state 如果此子视图具有瞬时状态,则为 true
Source§

fn request_fit_system_windows(&self)

要求执行新的 View.fitSystemWindows(Rect) 调度。
Source§

fn get_parent_for_accessibility(&self) -> Option<Self::VP>

获取给定 View 的父级,以实现可访问性。由于某些 View 未暴露给可访问性层,因此可访问性的父级不一定是 View 的直接父级,而是前任。 返回:父级,如果未找到,则返回 null。
Source§

fn notify_subtree_accessibility_state_changed( &self, child: &View, source: &View, change_type: i32, )

通知视图父级,其某个后代的可访问性状态已更改,并且子树的结构不同。 child 子树已更改的直接子级。 source 发生更改的后代视图。不能为 null。 change_type 发生的更改类型的位掩码。以下一个或多个: AccessibilityEvent.CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION AccessibilityEvent.CONTENT_CHANGE_TYPE_STATE_DESCRIPTION AccessibilityEvent.CONTENT_CHANGE_TYPE_SUBTREE AccessibilityEvent.CONTENT_CHANGE_TYPE_TEXT AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED AccessibilityEvent.CONTENT_CHANGE_TYPE_DRAG_STARTED AccessibilityEvent.CONTENT_CHANGE_TYPE_DRAG_CANCELLED AccessibilityEvent.CONTENT_CHANGE_TYPE_DRAG_DROPPED
Source§

fn can_resolve_layout_direction(&self) -> bool

告知此视图父级是否可以解析布局方向。请参阅 View.setLayoutDirection(int) 返回:如果此视图父级可以解析布局方向,则返回 True。
Source§

fn is_layout_direction_resolved(&self) -> bool

告知此视图父级布局方向是否已解析。请参阅 View.setLayoutDirection(int) 返回:如果此视图父级布局方向已解析,则返回 True。
Source§

fn get_layout_direction(&self) -> i32

返回此视图的父布局方向。请参阅 View.getLayoutDirection() 返回:如果布局方向为 RTL,则返回 View.LAYOUT_DIRECTION_RTL;如果布局方向不是 RTL,则返回 View.LAYOUT_DIRECTION_LTR。
Source§

fn can_resolve_text_direction(&self) -> bool

告知此视图父级是否可以解析文本方向。请参阅 View.setTextDirection(int) 返回:如果此视图父级可以解析文本方向,则返回 True。
Source§

fn is_text_direction_resolved(&self) -> bool

告知此视图父文本方向是否已解析。请参阅 View.setTextDirection(int) 返回:如果此视图父文本方向已解析,则返回 true。
Source§

fn get_text_direction(&self) -> i32

返回此视图父文本方向。参见 View.getTextDirection() 返回:已解析的文本方向。返回以下之一: View.TEXT_DIRECTION_FIRST_STRONG View.TEXT_DIRECTION_ANY_RTL、View.TEXT_DIRECTION_LTR、View.TEXT_DIRECTION_RTL、View.TEXT_DIRECTION_LOCALE
Source§

fn can_resolve_text_alignment(&self) -> bool

告知此视图父级是否可以解决文本对齐问题。请参阅 View.setTextAlignment(int) 返回:如果此视图父级可以解决文本对齐问题,则返回 True。
Source§

fn is_text_alignment_resolved(&self) -> bool

告知此视图父级是否可以解决文本对齐问题。请参阅 View.setTextAlignment(int) 返回:如果此视图父级可以解决文本对齐问题,则返回 True。
Source§

fn on_start_nested_scroll( &self, child: &View, target: &View, nested_scroll_axes: i32, ) -> bool

对启动嵌套滚动操作的子视图做出反应,在适当的情况下声明嵌套滚动操作。此方法将在子视图调用 View.startNestedScroll(int) 时调用。视图层次结构中的每个父视图都将有机会通过返回 true 来响应和声明嵌套滚动操作。 此方法可能被 ViewParent 实现覆盖,以指示视图何时愿意支持即将开始的嵌套滚动操作。如果它返回 true,则此 ViewParent 将成为目标视图的嵌套滚动父视图,直至滚动操作完成。当嵌套滚动完成时,此 ViewParent 将收到对 onStopNestedScroll(View) 的调用。 如果此 ViewParent 接受嵌套滚动操作,则返回 true child 包含目标的此 ViewParent 的直接子视图 target 发起嵌套滚动的视图 nested_scroll_axes 由 View.SCROLL_AXIS_HORIZONTAL、View.SCROLL_AXIS_VERTICAL 或两者组成的标志
Source§

fn on_nested_scroll_accepted( &self, child: &View, target: &View, nested_scroll_axes: i32, )

对成功声明嵌套滚动操作做出反应。此方法将在 onStartNestedScroll 返回 true 后调用。它为视图及其超类提供了对嵌套滚动执行初始配置的机会。此方法的实现应始终调用其超类对此方法的实现(如果存在)。 child 此 ViewParent 的直接子级,包含 target target 启动嵌套滚动的视图 nested_scroll_axes 由 View.SCROLL_AXIS_HORIZONTAL、View.SCROLL_AXIS_VERTICAL 或两者组成的标志
Source§

fn on_stop_nested_scroll(&self, target: &View)

对嵌套滚动操作结束做出反应。在嵌套滚动操作后执行清理。当嵌套滚动停止时,将调用此方法,例如当嵌套触摸滚动以 MotionEvent.ACTION_UP 或 MotionEvent.ACTION_CANCEL 事件结束时。此方法的实现应始终调用其超类对此方法的实现(如果存在)。 target 启动嵌套滚动的视图
Source§

fn on_nested_scroll( &self, target: &View, dx_consumed: i32, dy_consumed: i32, dx_unconsumed: i32, dy_unconsumed: i32, )

对正在进行的嵌套滚动做出反应。当 ViewParent 的当前嵌套滚动子视图分派嵌套滚动事件时,将调用此方法。要接收对此方法的调用,ViewParent 必须先前已为 onStartNestedScroll(View, View, int) 调用返回 true。 滚动距离的已消耗部分和未消耗部分均报告给 ViewParent。例如,实现可以选择使用已消耗部分来匹配或追踪多个子元素的滚动位置。未消耗部分可用于允许连续拖动多个滚动或可拖动元素,例如滚动垂直抽屉内的列表,一旦到达内部滚动内容的边缘,抽屉便开始拖动。 target 控制嵌套滚动的后代视图 dx_consumed 目标已消耗的水平滚动距离(以像素为单位) dy_consumed 目标已消耗的垂直滚动距离(以像素为单位) dx_unconsumed 目标未消耗的水平滚动距离(以像素为单位) dy_unconsumed 目标未消耗的垂直滚动距离(以像素为单位)
Source§

fn on_nested_fling( &self, target: &View, velocity_x: f32, velocity_y: f32, consumed: bool, ) -> bool

从嵌套滚动请求一次抛出。此方法表示嵌套滚动子视图已检测到适合抛出的条件。通常,这意味着触摸滚动已在滚动方向上以达到或超过可滚动轴上的最小抛出速度的速度结束。 如果嵌套滚动子视图通常会抛出但位于其自身内容的边缘,则可以使用此方法将抛出委托给其嵌套滚动父视图。父视图可以选择使用抛出或观察子视图的抛出。 返回:如果此父视图消耗了抛出或以其他方式对抛出做出反应,则为 true target 发起嵌套滚动的视图。 velocity_x 水平速度(以像素/秒为单位)。 velocity_y 垂直速度(以像素/秒为单位)。 consumed 如果子视图消耗了抛出,则为 true,否则为 false。
Source§

fn on_nested_pre_fling( &self, target: &View, velocity_x: f32, velocity_y: f32, ) -> bool

在目标视图使用嵌套的快速滑动之前对其做出反应。此方法表示嵌套滚动子视图已检测到沿每个轴具有给定速度的快速滑动。通常,这意味着触摸滚动已在滚动方向上以达到或超过沿可滚动轴的最小快速滑动速度的速度结束。 如果嵌套滚动父视图正在将运动作为预滚动的一部分使用,则它可能也适合使用预快速滑动以完成相同的运动。通过从此方法返回 true,父视图表示子视图也不应该快速滑动其自己的内部内容。 返回:如果此父视图在目标视图之前使用了快速滑动,则返回 true target 发起嵌套滚动的视图。 velocity_x 水平速度(以像素/秒为单位)。 velocity_y 垂直速度(以像素/秒为单位)。
Source§

fn on_nested_pre_perform_accessibility_action( &self, target: &View, action: i32, arguments: Option<Bundle>, ) -> bool

在目标处理目标后代视图委托的可访问性操作之前,对它做出反应。如果目标希望让其父链中的视图有机会在正常处理发生之前对事件做出反应,则目标后代视图可以调用此方法。 最常见的是滚动事件,例如 android.view.accessibility.AccessibilityNodeInfo.ACTION_SCROLL_FORWARD。支持充当嵌套滚动父级的 ViewParent 应覆盖此方法并采取相应行动,以通过可访问性系统实​​现滚动。 返回:true,如果此 ViewParent 使用了此操作 target 调度此操作的目标视图。 action 正在执行的操作;请参阅 android.view.accessibility.AccessibilityNodeInfo。 arguments 可选的操作参数。
Source§

const CLASS: &'static str = "android/view/ViewParent"

android/view/ViewParent
Source§

const OBJECT_SIG: &'static str = "Landroid/view/ViewParent;"

Landroid/view/ViewParent;
Source§

const DIM: u8 = 0u8

数组维度

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.