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

Android编程之代码创建布局实例分析

程序员文章站 2023-12-09 13:32:33
本文实例讲述了android编程之代码创建布局使用方法。分享给大家供大家参考,具体如下: 大概描述一下效果:最外层是一个 relativelayout 里面有自定义个li...

本文实例讲述了android编程之代码创建布局使用方法。分享给大家供大家参考,具体如下:

大概描述一下效果:最外层是一个 relativelayout 里面有自定义个linearlayout,每个linearlayout有两个textview。that's it !!!

private void initview() {
  // 获取xml的relativelayout
  layout = (relativelayout) findviewbyid(r.id.liner);
  for (int i = 0; i < 5; i++) {
   relativelayout.layoutparams relativeparams = new relativelayout.layoutparams(
     viewgroup.layoutparams.match_parent, viewgroup.layoutparams.wrap_content);
   // 每行都有一个linearlayout
   linearlayout llayout = new linearlayout(mcontext);
   llayout.setid(i + 10);
   llayout.setorientation(linearlayout.horizontal);
   linearlayout.layoutparams llayoutlayoutparams = new linearlayout.layoutparams(
     viewgroup.layoutparams.match_parent, viewgroup.layoutparams.wrap_content);
   llayout.setlayoutparams(llayoutlayoutparams);
   textview tv = new textview(mcontext);
   tv.setid(i);
   tv.settext("这是第" + i + "个文本框");
   tv.settextcolor(color.blue);
   textview tv_num = new textview(mcontext);
   tv_num.setid(i + 20);
   tv_num.settext(i + "台");
   tv_num.settextcolor(color.red);
   // 为textview添加长高设置
   linearlayout.layoutparams layoutparams_txt = new linearlayout.layoutparams(
     viewgroup.layoutparams.wrap_content, viewgroup.layoutparams.wrap_content);
   tv.setlayoutparams(layoutparams_txt);
   tv_num.setlayoutparams(layoutparams_txt);
   // 添加到每行的linearlayout中
   llayout.addview(tv);
   llayout.addview(tv_num);
   // 每个linearlayout都在前一个的下面,第一个在顶,不处理
   if (i > 0) {
    relativeparams.addrule(relativelayout.below, i + 10 - 1);
   }
   // 把每个linearlayout加到relativelayout中
   layout.addview(llayout, relativeparams);
  }
}

希望本文所述对大家android程序设计有所帮助。