Android 浅谈ViewStub
类摘要: ViewStub 是一个隐藏的,不占用内存空间的视图对象,它可以在运行时延迟加载布局资源文件。当 ViewStub 可见,或者调用 inflate()函数时,才会加载这个布局资源文件。 该ViewStub 在加载视图时在父容器中替换它本身。因此,
·
类摘要:
通过"stud"id 可以找到被定义的 ViewStub 对象。加载布局资源文件"mySubTree "后,ViewStub 对象从其父容器中移除。可以通过 id"subTree"找到由布局资源"mySubTree"创建的View。这个视图对象最后被指定为宽 120dip,高 40dip。执行加载布局资源文件的推荐方式
当inflate()被调用, 这个 ViewStub 被加载的视图替代并且返回这个视图对象。这使得应用程序不需要额外执行 findViewById()来获取加载视图的引用。
嵌套类
接口 ViewStub.OnInflateListener 一个用于接收 ViewStub 已经成功加载布局资源文件的通知的监听器。
公共方法
public void draw (Canvas canvas)
手动在指定的画布绘制这个视图(及所有其子视图)。这个视图必须在调用这个函数之前做好了整体布局。当要自己实现一个视图时,不要重载这个方法;相反,你应该重载onDraw(Canvas)方法。
参数
canvas 这个画布传到那个已渲染的视图对象。
public int getInflatedId ()
返回加载的布局资源文件的 ID,如果加载的布局资源文件的 id 是 NO_ID,那么这个加载的 View 将保留它原来的 id 值。
相关 XML 属性android:inflatedId
返回值
一个正整数来标识这个要加载的视图或者 NO_ID 将保持加载视图原来的 id。
参见setInflatedId(int)
public int getLayoutResource ()
返回加载的布局资源文件的 id 值。
相关 XML 属性
android:layout
返回值
加载到视图对象的布局资源文件 id 值。
参见
setLayoutResource(int)
setVisibility(int)
inflate()
public View inflate ()
加载 getLayoutResource()方法标识的布局资源,并通过加载布局资源替换父容器中它自己
返回值
这个已加载的布局资源文件.
public void setInflatedId (int inflatedId)
设置加载视图的 ID。如果这个 id 为 NO_ID,这个加载视图保持它原来的 id 不变。
相关 XML 属性
android:inflatedId
参数
inflatedId 一个正整数来标识这个加载视图或者 NO_ID 将保持加载视图原来的id。
参见
getInflatedId()
public void setLayoutResource (int layoutResource)
设置待加载的布局资源文件,当 ViewStub 被设置为 visible 或 invisible 或调用 inflate()时使用。这个在加载布局资源文件时创建的视图用来在父容器中替换它自己。
相关 XML 属性
android:layout
参数
layoutResource 一个有效的布局资源文件 id 值(不等于 0)。
参见
getLayoutResource()
setVisibility(int)
inflate()
public void setOnInflateListener (ViewStub.OnInflateListener inflateListener)
设置成功加载布局资源文件后事件通知的监听器。
参数
inflateListener 该 OnInflateListener 在成功加载后得到事件通知。
参见
ViewStub.OnInflateListener
public void setVisibility (int visibility)
当可见性设置为 VISIBLE 或 INVISIBLE,inflate()将被调用,并且加载视图资源在父容器中
替换 ViewStub。
参数
visibility 设置为 VISIBLE(显示), INVISIBLE(隐藏), 或 GONE(完全隐藏,不暂用布局位置).
参见
inflate()
受保护方法
更多推荐
已为社区贡献1条内容
所有评论(0)