Android中文API-ViewStub

ViewStub控件是一个不可见,0尺寸得惰性控件。当ViewStub控件设置可见,或者调用inflate(),并运行完毕之后,ViewStub所指定的layout资源就会被载入。这个ViewStub就会被新载入的layout文件取代。

ViewStub也会从其父控件中移除。

因此ViewStub存在view Hierarchy中的生存期为直到ViewStub运行了setVisable(int)或者inflate()方法。

    在setVisable或者inflate方法运行完成。被载入的Layout文件伴随着ViewStub的属性设置一起被增加ViewStub的父控件中。


    你能够定义或者重写被载入layout文件的id属性。

比如:

<ViewStub android:id="@+id/stub"android:inflatedId="@+id/subTree"android:layout="@layout/mySubTree"android:layout_width="120dip"android:layout_height="40dip" />

    这个定义的ViewStub控件能够通过设定的id“stub”找到。在成功获取subTree制定的kayout之后,ViewStub就从其父控件中移除了,被载入的mySubTree,能够通过id“subTree”找到。从以上的代码属性设置来说,终于载入的Layout文件,会以宽120dp,高40dp展示。

    通过下面方式,能够使ViewStub展示出其所代表的layout文件。


   ViewStub stub = (ViewStub) findViewById(R.id.stub);View inflated = stub.inflate();

当inflate()运行完毕,Viewstub就被替换掉了,inflate返回的View就是mySubTree这个布局文件的View。所以就不须要运行额外的findById了。

    值得注意的是:ViewStub在Api1的时候就已经提供了,可是在api16的时候,添加了一个方法:

public void setLayoutInflater (LayoutInflater inflater)

这种方法攻克了,不能指定LayoutInflater 的问题,这涉及了Context的使用。

    假设你在低于Api16的开发中,遇到找到不你载入View 的 id的情况,那多数情况是。Context出了问题。在低于api16的情况下,解决方案有两种:

(1)自己定义ViewStub

(2)在V7包中。使用ViewStubCompat类。


作者有话说:假设你须要或者Android中文API。请扫一扫以下的二维码,您的关注。就是我的动力。




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/278427.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何播放梅西百货的感恩节大游行2019

Macy’s梅西百货As we draw ever closer to the Thanksgiving holiday, multiple things come to mind: turkey, Black Friday, and the Macy’s Thanksgiving Day Parade. With that in mind, you might want to find a way to stream it for your family. 随着我们越来越接近…

thinkpaidE480office安装文件夹

C:\Program Files (x86)\Microsoft Office\root\Office16需要嵌入office的小伙伴自行百度吧教程吧&#xff0c;网上有很多的转载于:https://www.cnblogs.com/hgyzm/p/10303449.html

AJAX入门这一篇就够了

什么是Ajax Ajax(Asynchronous JavaScript and XML) 异步JavaScript和XML Ajax实际上是下面这几种技术的融合&#xff1a; (1)XHTML和CSS的基于标准的表示技术(2)DOM进行动态显示和交互(3)XML和XSLT进行数据交换和处理(4)XMLHttpRequest进行异步数据检索(5)Javascript将以上技术…

如何在iPhone和iPad上允许“不受信任的快捷方式”

Khamosh PathakKhamosh PathakShortcuts is now a stock app in iOS 13, iPadOS 13, and beyond. Thanks to Apple’s stricter rules, any shortcut you download from the internet is blocked. Here’s how you can allow untrusted shortcuts on your iPhone or iPad. 现在…

程序员技术进阶手册(一)

AI正在迅速改变世界&#xff0c;对于程序员来说&#xff0c;这绝对是一个千载难逢的转型机会。机器学习是计算机科学的一个子领域&#xff0c;在人工智能领域&#xff0c;机器学习逐渐发展成模式识别和计算科学理论的研究。从2016年起&#xff0c;机器学习到达了不合理的火热巅…

SpringBoot入门 (一) HelloWorld

一 什么是springboot springboot是一个全新的框架&#xff0c;它设计的目的简化spring项目的初始环境的搭建和开发&#xff0c;主要有以下几个特点&#xff1a; 1、简化初始配置 &#xff0c;可与主流框架集成&#xff1b; 2、内置Servlet容器&#xff0c;无需在打War包&#x…

gmail附件调用_如何将Gmail附件保存到Google云端硬盘

gmail附件调用While you can access Gmail attachments by opening the related message deep within Google’s client, it’s not very convenient. You need a central location to access saved documents and images. This guide shows you how to save Gmail attachments…

spring boot拦截器中获取request post请求中的参数(转)

文章转自 https://www.jianshu.com/p/69c6fba08c92 转载于:https://www.cnblogs.com/shuaiandjun/p/10306242.html

绝地求生大逃杀,改配置

提取效果设置配置文件 通过Procmon工具分析&#xff0c;绝地求生大逃杀效果设置的配置文件为 “C:\Users\Administrator\AppData\Local\TslGame\Saved\Config\WindowsNoEditor\GameUserSettings.ini”&#xff0c;设置好网吧需要的游戏效果后将“TslGame”文件夹提取出来即可&a…

如何使用VLOOKUP在Google表格中查找数据

VLOOKUP is one of the most misunderstood functions in Google Sheets. It allows you to search through and link together two sets of data in your spreadsheet with a single search value. Here’s how to use it. VLOOKUP是Google表格中最容易被误解的功能之一。 它使…

共享内存

https://blog.csdn.net/tojohnonly/article/details/70246965 转载于:https://www.cnblogs.com/132818Creator/p/10307072.html

WPF项目学习.一

WPF项目搭建 版权声明&#xff1a;本文为博主初学经验&#xff0c;未经博主允许不得转载。 一、前言 记录在学习与制作WPF过程中遇到的解决方案。 使用MVVM的优点是 数据和视图分离&#xff0c;双向绑定&#xff0c;低耦合&#xff0c;可重用行&#xff0c;相对独立的设计和逻辑…

airpods_如何通过AirPods与其他人共享音乐

airpodsKhamosh PathakKhamosh PathakUsing the new Audio Sharing feature introduced in iOS 13.1 and iPadOS 13.1, you can share audio from one iPhone with two AirPods. You can watch a video or listen to a song along with your friend in just a tap! 使用iOS 13.…

Laravel 5 多个视图共享数据的方法

我们都知道模板一般会用到继承&#xff0c;导航栏就是一个很好的例子&#xff0c;但是导航栏的数据如何共享&#xff0c;比如有个导航的文件叫在view/navigation.blade.php为了简单一点&#xff0c;文件里只有设置了一个变量1{{ $cqh }}现在的要求是每个页面都会用到这个变量&a…

HR面 - 十大经典提问

1、HR&#xff1a;你希望通过这份工作获得什么&#xff1f; 1&#xff09;、自杀式回答&#xff1a;我希望自己为之工作的企业能够重视质量&#xff0c;而且会给做得好的员工予以奖励。我希望通过这份工作锻炼自己&#xff0c;提升自己的能力&#xff0c;能让公司更加重视我。 …

谷歌云使用账号密码_如何使用Google密码检查

谷歌云使用账号密码Google has a tool designed to securely analyze your passwords against a database of ones that are known to be compromised and breached. Password Checkup is available as an extension or a web service. Here’s how to use it. Google提供了一种…

HTML特殊字符编码对照表

HTML特殊字符编码对照表 特殊符号命名实体十进制编码特殊符号命名实体十进制编码特殊符号命名实体十进制编码Α&Alpha;Β&Beta;Γ&Gamma;Δ&Delta;Ε&Epsilon;Ζ&Zeta;Η&Eta;Θ&Theta;Ι&Iota;Κ&Kappa;Λ&Lambda;Μ&Mu;Ν&a…

CentOS 7.0下使用yum安装MySQL

CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题&#xff0c;我们要先下载mysql的repo源。1.下载mysql的repo源$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm2.安装my…

Jolicloud是一款适合上网本的漂亮新操作系统

Want to breathe new life into your netbook? Here’s a quick look at Jolicloud, a unique new Linux based OS that lets you use your netbook in a whole new way. 想为您的上网本注入新的活力吗&#xff1f; 快速浏览一下Jolicloud&#xff0c;这是一个独特的基于Linu…

Repeater片段

1.字段过长截取字符串 1.1 截取字符串类 可以直接substring 也可以<%# Utility.Common.GetShow( Eval("NewTitle").ToString(),20,true) %><td><%#fcwms.Common.GetContent.GetShow(Eval("com_address").ToString(), 19, true)%> </t…