动态加载view的LayoutParams参数设置

    xiaoxiao2022-06-28  22

    加载view有两种方式,setContentView和inflate。  LayoutInflate,inflate加载xml资源文件。  Activity,setContentView,可以加载xml,也可以加载View对象方式。 重载方法有 public void setContentView(int layoutResID);//重载1 public void setContentView(View view); //重载2 public void setContentView(View view, ViewGroup.LayoutParams params);//重载3 这里着重介绍一下带源代码(非xml配置文件)中动态加载view的方式。 动态加载,需要设置布局参数,即告诉要加载view的parent一些它期望的宽、高、位置等信息,即需要设置LayoutParam参数(ViewGroup.LayoutParams及其它的子类)。具体有ViewGroup.MarginLayoutParams,LinearLayout.LayoutParams,… View的方法public void setLayoutParams(ViewGroup.LayoutParams params), 即可以设置布局参数,以在parent add时设置布局。如果设置了View. setLayoutParams,则使用重载2添加;如果没有设置,则new一个LayoutParams对象,使用重载3添加。看下面的例子,

    mLayout = new LinearLayout(this); mLayout.setLayoutParams(new LinearLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); mLayout.setOrientation(LinearLayout.VERTICAL); mTv = new TextView(this); mTv.setText("Hello code1"); mTv.setTextSize(19); LayoutParams params = new LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); mLayout.addView(mTv, params); setContentView(mLayout);
    转载请注明原文地址: https://ju.6miu.com/read-1124423.html

    最新回复(0)