我的android审视之路---view2

       女朋友去了出差,晚上睡得太早也无聊,写写字吧

       这篇文章主要是复习一下关于view的一下常识理解,就是一些我们可能经常用到,但又不去注意的类或者方法。

      第一个场景:我们会在Activity的生命周期的入口onCreate里面调用setContentView这个函数,我们xml里面设计的layou就能一下子蹦到我们的手机屏幕上来。

       这里我们一般习惯用这个setContentView函数来读xml文件,然后用findViewById这个函数来挨个或者其中子viewid。其实还有另一种方法可以获取每一个子viewid,那就是LayoutInflater.inflate来获取。

         这两种方式的区别,其中前者的意义就在于找到这个xml,获取其中的子view并显示出来;后者的意义在于获得这个xml里面每一个子viewid,即获得这个layout,其实是隐藏的,我们得到的仅仅是这个子view的实例,用于后续的操作。简而言之,setContentViewfindViewById是为了获得view而显示,LayoutInflater.inflate是为了获得这个实例供后续用,不用是不会显示的。所以,当我们进入一个页面需要加载显示布局时,此时会在入口使用前者,如果这个页面还有一些子view,比如对话框之类的,我们就会用到后者来加载xml

       我们讲一下LayoutInflater.inflate这个构造方法

public View inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot) {

        这三个参数怎理解呢?

        第一个:很明显,把一个layout资源加载进来,R.layout.***;

        第二个:第一个参数加载进来相当于获取到这个xml的实例,它还需要一个载体,没错,第二个参数就是他的载体,即这个layout是放在哪里上面的,一般回事LinearLayout;

        第三个:是不是直接就附加这个layout到这个载体上面了?如果是的话,哈哈,那这个layout就死跟着你咯,相当于你只能有一个老婆;但是如果你设为false的话,载体在通过addView添加这个view,然后你就可以自由的add和remove了,想要就要,不要就甩,酷吧!



~~~~~这是一篇还没有写完的文章,还是先睡觉吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值