欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java动态添加view的方法

程序员文章站 2024-03-07 18:13:15
 一般情况下,我们大部分人都是在xml文件直接写布局,可是有些时候需要用代码动态添加布局,比如我昨天做一个viewpager的页数的显示,当没有内容是把textv...

 一般情况下,我们大部分人都是在xml文件直接写布局,可是有些时候需要用代码动态添加布局,比如我昨天做一个viewpager的页数的显示,当没有内容是把textview给clear掉,有内容是用java代码动态添加。

1.编写代码,生成view,添加到linearlayout内。

mtextview=new textview(mactivity);
linearlayout.layoutparams layoutparams = new linearlayout.layoutparams(60, 30);
mtextview.setlayoutparams(layoutparams);
mtextview.settextcolor(color.parsecolor("#03a9f4"));
mtextview.setvisibility(view.gone);
dotslinearlayout.addview(mtextview);

2.根据viewpager的页数变化显示textview

public void setcurrentnumber(int number){
  boolean iscontain=false;
  for(int i=0;i<dotslinearlayout.getchildcount();i++){
   view v=dotslinearlayout.getchildat(i);
   if (v instanceof textview){
     iscontain=true;
   }
  }
  if (iscontain == false){
   setmtextview();
  }
  if (myviewpageradapter!=null){
   int current=number+myviewpager.getcurrentitem()*4;
   mtextview.settext(current+"/"+myviewpageradapter.getcount()*4);
   mtextview.setvisibility(view.visible);
   for (int i = 0; i < dotviews.size(); i++) {
      dotviews.get(i).setvisibility(view.gone);
   }
  }
}

其中for循环是判断linearlayout内是否存在textview,不存在则创建textview,然后就可以动态改变textview的数据了。