首页 > 编程知识 正文

android进度条控件,android view绘制流程

时间:2023-05-06 06:48:24 阅读:39923 作者:571

这是继上面的include标记示例之后的内容,地址http://blog.csdn.net/Jason 0539/article/details/26131831

在上一页的布局中,使用了一个名为viewstub的控件,下面介绍其作用和使用方法

' ViewStub是大小不可见的0 View,最佳用途是延迟加载View,避免资源浪费,并在必要时加载view

'

请注意,加载view时,viewstub本身将被新加载的view替换

因为在代码上,读完就理解了

acitivity_main.xml

relativelayoutxmlns 3360 Android=' http://schemas.Android.com/apk/RES/安卓' xmlns 3360 tools=' http://方案.安卓' xmlns 360 to ools=' 3358方案.安卓工具'安卓: layout _ wide ' match _ parent ' include Android 3330 ut _ height=' wrap _ content ' Android 3360 layout _ alignparenttop=' true ' Android 60id=' @ id/pic _ stub ' Android : layout _ width=' wrap _ content ' Android 3360 layout _ height=' wrap _ content pic _ view _ id _ after _ inflate ' Android 3360 layout=' @ layout/pic _ view '/include layout=' @ layout/pic _ vid

其中inflatedId是新加载的view的id,如果需要获取此view,请使用此inflatedId。 原始id已被替换

layout是要加载的布局,代码如下

pic_view.xml

? XML版本=' 1.0 '编码=' utf-8 '? linearlayoutxmlns 3360 Android=' http://schemas.Android.com/apk/RES/安卓'安卓: layout _ width=' match _ parent '安卓: layout _ height=' match _ parent ' imageview Android Android 3360 layout _ height=' match _ parent ' Android 3360 ST

里面只有一张照片

MainActivity.java

publicclassmainactivityextendsactivity { privateviewstubpic _ sub; @ overrideprotectedvoidoncreate (bundlesavedinstancestate ) super.oncreate ) savedinstancestate; setcontentview (r.layout.activity _ main; pic_sub=(viewstub ) findviewbyid ) r.id.pic_stub; new Timer ().schedule(newtimertask ) ({@Overridepublic void run ) ) Handler.sendemptymessage ) )1); (,1000 );//延迟1秒(}Handler handler=new Handler ) ) publicvoidHandlemessage ) Android.OS.messagemsg ) viewpic _ view=pic///imageviewiv_pic=(imageview ) pic _ view.findviewbyid (r.id.iv _ pic ); iv _ pic.setimageresource (r.drawable.pic; view view=findviewbyid (r.id.pic _ stub;//view=findviewbyid (r.id.pic _ view _ id _ after _ inflate ); //); (; }

inflate ) )时,加载的视图将取代viewstub,并返回到自己的视图对象。 这样,APP应用程序就不必执行额外的操作(findViewById )来获取对加载视图的引用)

不需要句子。 使用setvisibility时,请不要将的两个语句的顺序颠倒。 否则,将报告错误

jva.lang.illegalstateexception 3360 viewstubmusthaveanon-nullviewgroupviewparent。 因为viewstub不能重复inflate,所以只有一次inflate,set

语句检索加载的pic _ view (findviewbyid ),以检索对加载了APP应用程序的视图的引用)。 如果自己获取,则id使用inflateid

此处view为null。 pic_stub的id已不存在,因为viewstub已被替换

语句获取用inflateid加载的view正常

作者: jason0539

微博: http://weibo.com/2553717707

博客: http://blog.csdn.net/jason0539 (转载请说明出处)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。