Android学习 6->浅谈界面显示与LayoutInflater

       LayoutInflater 是用于加载布局的,在Android中是“扩展”的意思,作用类似于findViewById(),不同的是LayoutInflater是用来获得布局文件对象的,而findViewById()是用来获得具体控件的。加载布局的任务通常都是在Activity中调用setContentView()方法来完成的。而setContentView()方法的内部也是使用LayoutInflater来加载布局的。

      LayoutInflater的基本用法:
        第一步: 

      LayoutInflater mInflater = LayoutInflater.from(context);

        第二步:

      ViewGroup parent;
      View v = mInflater.inflate(R.layout.item_simpleadapter_view, parent,true);

      View v = mInflater.inflate(R.layout.item_simpleadapter_view, parent,false);

      View v = mInflater.inflate(R.layout.item_simpleadapter_view, null);


     注意:  public View inflate(int resourceId, ViewGroup root, boolean attachToRoot)

      如果设置了ViewGroup root参数,且attachToRoot设置为false的话,则会从root中得到由layout_width和layout_height组成的LayoutParams,就会对我们加载的视图View设置该LayoutParams。

     

      如果设置了ViewGroup root参数,且attachToRoot设置为true的话,则将我们加载的视图做为子视图添加到root视图中。

     

      如果我们ViewGroup root设置为空的话,就直接返回我们创建的视图;

 

 

      Android界面显示的原理

        任何一个Activity中显示的界面其实主要都由两部分组成: 标题栏和内容布局。

       标题栏就是在很多界面顶部显示的那部分内容,可以在代码中控制让它是否显示。

       内容布局就是一个FrameLayout,这个布局的id叫作content,我们调用setContentView()方法时所传入的布局其实就是放到这个FrameLayout中的,这也是为什么这个方法名叫作setContentView(),而不是叫setView()。

       下图为一个Activity窗口组成结构:


    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值