Struct droid_wrap::android::view::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
impl ViewGroup
sourcepub fn add_view(&self, child: &View)
pub fn add_view(&self, child: &View)
- 添加子视图。如果子视图上尚未设置布局参数,则此 ViewGroup 的默认参数将设置在该子视图上。
- 注意:不要从 draw(Canvas)、onDraw(Canvas)、dispatchDraw(Canvas) 或任何相关方法调用此方法。
child要添加的子视图
sourcepub fn remove_all_views(&self)
pub fn remove_all_views(&self)
- 调用此方法可从 ViewGroup 中删除所有子视图。
- 注意:不要从 draw(Canvas)、onDraw(Canvas)、dispatchDraw(Canvas) 或任何相关方法调用此方法。
sourcepub fn remove_all_views_in_layout(&self)
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>§
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)
- 设置此视图的可见性状态。
visibilityVISIBLE、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)
- 启用或禁用此视图的点击事件。当视图可点击时,每次点击时它的状态都会更改为“按下”。子类应将视图设置为可点击,以便对用户的点击做出视觉反应。
clickabletrue 表示视图可点击,否则为 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_disabledtrue使视图可单击,否则为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_clickabletrue 表示视图可长按,否则为 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_clickabletrue 表示使视图对上下文点击做出反应,否则为 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 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。
Methods from Deref<Target = GlobalRef>§
Methods from Deref<Target = JObject<'static>>§
Trait Implementations§
source§impl PartialEq for ViewGroup
impl PartialEq for ViewGroup
source§impl ViewManager for ViewGroup
impl ViewManager for ViewGroup
source§fn add_view(&self, view: &View, params: &ViewGroup_LayoutParams)
fn add_view(&self, view: &View, params: &ViewGroup_LayoutParams)
将传递的 LayoutParams 分配给传递的 View,并将该视图添加到窗口。对于某些编程错误,例如在未移除第一个视图的情况下向窗口添加第二个视图,将抛出 WindowManager.BadTokenException。如果窗口位于辅助显示器上并且找不到指定的显示器,则抛出 WindowManager.InvalidDisplayException(请参阅 android.app.Presentation)。
view 要添加到此窗口的视图。params 要分配给视图的 LayoutParams。 Read moresource§const OBJECT_SIG: &'static str = "Landroid/view/ViewManager;"
const OBJECT_SIG: &'static str = "Landroid/view/ViewManager;"
Landroid/view/ViewManager;
source§impl ViewParent for ViewGroup
impl ViewParent for ViewGroup
source§fn request_layout(&self)
fn request_layout(&self)
当发生某些更改导致此视图父级的子级布局无效时调用。这将安排视图树的布局过程。
source§fn is_layout_requested(&self) -> bool
fn is_layout_requested(&self) -> bool
指示是否在此视图父级上请求布局。
返回:如果请求布局,则返回 true,否则返回 false
source§fn request_transparent_region(&self, child: &View)
fn request_transparent_region(&self, child: &View)
当子视图希望视图层次结构收集透明区域并将其报告给窗口合成器时调用。在视图层次结构中“打”洞的视图(例如 SurfaceView)可以使用此 API 来提高系统的性能。当层次结构中不存在此类视图时,此优化是不必要的,并且可能会略微降低视图层次结构的性能。
child 请求透明区域计算的视图 Read moresource§fn get_parent(&self) -> Option<Self::VP>
fn get_parent(&self) -> Option<Self::VP>
如果父级存在则返回该父级,否则返回 null。返回:ViewParent,如果此 ViewParent 没有父级则返回 null。 Read more
source§fn request_child_focus(&self, child: &View, focused: &View)
fn request_child_focus(&self, child: &View, focused: &View)
source§fn recompute_view_attributes(&self, child: &View)
fn recompute_view_attributes(&self, child: &View)
告诉视图层次结构需要重新评估全局视图属性。
child 属性已更改的视图。 Read moresource§fn clear_child_focus(&self, child: &View)
fn clear_child_focus(&self, child: &View)
当此父级的子级放弃焦点时调用
child 放弃焦点的视图 Read moresource§fn bring_child_to_front(&self, child: &View)
fn bring_child_to_front(&self, child: &View)
更改子项的 z 顺序,使其位于所有其他子项之上。如果此容器使用顺序相关的布局方案(例如 LinearLayout),则此顺序更改可能会影响布局。在 android.os.Build.VERSION_CODES.KITKAT 之前,此方法应随后调用此父项的 requestLayout() 和 View.invalidate(),以强制父项使用新的子项顺序重新绘制。
child 要置于 z 顺序顶部的子项 Read more显示指定视图或其祖先的上下文菜单。在大多数情况下,子类不需要覆盖此。但是,如果将子类直接添加到窗口管理器(例如,ViewManager.addView(View, ViewGroup.LayoutParams)),则它应该覆盖此并显示上下文菜单。返回:如果显示上下文菜单,则返回 true,否则返回 false
original_view 首次调用上下文菜单的源视图 Read moresource§fn child_drawable_state_changed(&self, child: &View)
fn child_drawable_state_changed(&self, child: &View)
当子项的可绘制状态发生改变时,将在父项上调用此方法。
child 可绘制状态发生改变的子项。 Read moresource§fn request_disallow_intercept_touch_event(&self, disallow_intercept: bool)
fn request_disallow_intercept_touch_event(&self, disallow_intercept: bool)
当子级不希望此父级及其祖先使用 ViewGroup.onInterceptTouchEvent(MotionEvent) 拦截触摸事件时调用。此父级应将此调用传递给其父级。此父级必须在触摸期间遵守此请求(即,仅在此父级收到向上或取消后清除标志。
disallow_intercept 如果子级不希望父级拦截触摸事件,则为 True。 Read moresource§fn child_has_transient_state_changed(
&self,
child: &View,
has_transient_state: bool,
)
fn child_has_transient_state_changed( &self, child: &View, has_transient_state: bool, )
当子视图现在具有或不再跟踪瞬态时调用。 “瞬态”是视图可能持有的任何状态,但不应反映在视图当前呈现的数据模型中。此状态仅影响视图本身向用户呈现的内容,例如正在进行的动画的当前状态或文本选择操作的状态。瞬态可用于向视图系统的其他组件提示特定视图正在跟踪复杂但封装的内容。例如,ListView 可能承认具有瞬态的列表项视图应保留在其位置或稳定项 ID 中,而不是将该视图视为可由后备适配器轻松替换。这使得适配器实现更简单,而不需要跟踪正在进行的项目视图动画的状态,以便在意外回收和重新绑定附加项目视图时可以恢复它们。当子视图或其子树中的视图开始或结束内部瞬态跟踪时,将在父视图上调用此方法。
child 状态已改变的子视图has_transient_state 如果此子视图具有瞬时状态,则为 true Read moresource§fn request_fit_system_windows(&self)
fn request_fit_system_windows(&self)
要求执行新的 View.fitSystemWindows(Rect) 调度。 Read more
source§fn get_parent_for_accessibility(&self) -> Option<Self::VP>
fn get_parent_for_accessibility(&self) -> Option<Self::VP>
获取给定 View 的父级,以实现可访问性。由于某些 View 未暴露给可访问性层,因此可访问性的父级不一定是 View 的直接父级,而是前任。返回:父级,如果未找到,则返回 null。 Read more
source§fn notify_subtree_accessibility_state_changed(
&self,
child: &View,
source: &View,
change_type: i32,
)
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_SUBTREEAccessibilityEvent.CONTENT_CHANGE_TYPE_TEXT AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED AccessibilityEvent.CONTENT_CHANGE_TYPE_DRAG_STARTEDAccessibilityEvent.CONTENT_CHANGE_TYPE_DRAG_CANCELLED AccessibilityEvent.CONTENT_CHANGE_TYPE_DRAG_DROPPED Read moresource§fn can_resolve_layout_direction(&self) -> bool
fn can_resolve_layout_direction(&self) -> bool
告知此视图父级是否可以解析布局方向。请参阅 View.setLayoutDirection(int)返回:如果此视图父级可以解析布局方向,则返回 True。 Read more
source§fn is_layout_direction_resolved(&self) -> bool
fn is_layout_direction_resolved(&self) -> bool
告知此视图父级布局方向是否已解析。请参阅 View.setLayoutDirection(int)返回:如果此视图父级布局方向已解析,则返回 True。 Read more
source§fn get_layout_direction(&self) -> i32
fn get_layout_direction(&self) -> i32
返回此视图的父布局方向。请参阅 View.getLayoutDirection()返回:如果布局方向为 RTL,则返回 View.LAYOUT_DIRECTION_RTL;如果布局方向不是 RTL,则返回 View.LAYOUT_DIRECTION_LTR。 Read more
source§fn can_resolve_text_direction(&self) -> bool
fn can_resolve_text_direction(&self) -> bool
告知此视图父级是否可以解析文本方向。请参阅 View.setTextDirection(int)返回:如果此视图父级可以解析文本方向,则返回 True。 Read more
source§fn is_text_direction_resolved(&self) -> bool
fn is_text_direction_resolved(&self) -> bool
告知此视图父文本方向是否已解析。请参阅 View.setTextDirection(int)返回:如果此视图父文本方向已解析,则返回 true。 Read more
source§fn get_text_direction(&self) -> i32
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 Read more
source§fn can_resolve_text_alignment(&self) -> bool
fn can_resolve_text_alignment(&self) -> bool
告知此视图父级是否可以解决文本对齐问题。请参阅 View.setTextAlignment(int)返回:如果此视图父级可以解决文本对齐问题,则返回 True。 Read more
source§fn is_text_alignment_resolved(&self) -> bool
fn is_text_alignment_resolved(&self) -> bool
告知此视图父级是否可以解决文本对齐问题。请参阅 View.setTextAlignment(int)返回:如果此视图父级可以解决文本对齐问题,则返回 True。 Read more
source§fn on_start_nested_scroll(
&self,
child: &View,
target: &View,
nested_scroll_axes: i32,
) -> bool
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 或两者组成的标志 Read moresource§fn on_nested_scroll_accepted(
&self,
child: &View,
target: &View,
nested_scroll_axes: i32,
)
fn on_nested_scroll_accepted( &self, child: &View, target: &View, nested_scroll_axes: i32, )
对成功声明嵌套滚动操作做出反应。此方法将在 onStartNestedScroll 返回 true 后调用。它为视图及其超类提供了对嵌套滚动执行初始配置的机会。此方法的实现应始终调用其超类对此方法的实现(如果存在)。
child 此 ViewParent 的直接子级,包含 targettarget 启动嵌套滚动的视图nested_scroll_axes 由 View.SCROLL_AXIS_HORIZONTAL、View.SCROLL_AXIS_VERTICAL 或两者组成的标志 Read moresource§fn on_stop_nested_scroll(&self, target: &View)
fn on_stop_nested_scroll(&self, target: &View)
对嵌套滚动操作结束做出反应。在嵌套滚动操作后执行清理。当嵌套滚动停止时,将调用此方法,例如当嵌套触摸滚动以 MotionEvent.ACTION_UP 或 MotionEvent.ACTION_CANCEL 事件结束时。此方法的实现应始终调用其超类对此方法的实现(如果存在)。
target 启动嵌套滚动的视图 Read moresource§fn on_nested_scroll(
&self,
target: &View,
dx_consumed: i32,
dy_consumed: i32,
dx_unconsumed: i32,
dy_unconsumed: i32,
)
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 目标未消耗的垂直滚动距离(以像素为单位) Read moresource§fn on_nested_fling(
&self,
target: &View,
velocity_x: f32,
velocity_y: f32,
consumed: bool,
) -> bool
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。 Read moresource§fn on_nested_pre_fling(
&self,
target: &View,
velocity_x: f32,
velocity_y: f32,
) -> bool
fn on_nested_pre_fling( &self, target: &View, velocity_x: f32, velocity_y: f32, ) -> bool
在目标视图使用嵌套的快速滑动之前对其做出反应。此方法表示嵌套滚动子视图已检测到沿每个轴具有给定速度的快速滑动。通常,这意味着触摸滚动已在滚动方向上以达到或超过沿可滚动轴的最小快速滑动速度的速度结束。如果嵌套滚动父视图正在将运动作为预滚动的一部分使用,则它可能也适合使用预快速滑动以完成相同的运动。通过从此方法返回 true,父视图表示子视图也不应该快速滑动其自己的内部内容。返回:如果此父视图在目标视图之前使用了快速滑动,则返回 true
target 发起嵌套滚动的视图。velocity_x 水平速度(以像素/秒为单位)。velocity_y 垂直速度(以像素/秒为单位)。 Read moresource§fn on_nested_pre_perform_accessibility_action(
&self,
target: &View,
action: i32,
arguments: Option<Bundle>,
) -> bool
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 可选的操作参数。 Read moresource§const OBJECT_SIG: &'static str = "Landroid/view/ViewParent;"
const OBJECT_SIG: &'static str = "Landroid/view/ViewParent;"
Landroid/view/ViewParent;
Auto Trait Implementations§
impl Freeze for ViewGroup
impl RefUnwindSafe for ViewGroup
impl Send for ViewGroup
impl Sync for ViewGroup
impl Unpin for ViewGroup
impl UnwindSafe for ViewGroup
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
Mutably borrows from an owned value. Read more