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的数据了。