今天整了下LinearLayout 的动态布局,不说了,贴下代码。

1.首先在OnCreate()中调用init()方法.

2.主要处理代码。

 

            
  1. /** 
  2.      * 方法描述:初始化
     
  3.      * 创建时间:2013-4-28 上午11:47:40 创建人:李小冰 
  4.      */ 
  5.     private void initView() { 
  6.         layout = (LinearLayout) findViewById(R.id.layout_main); 
  7.         layout.setOrientation(LinearLayout.VERTICAL); // 设置Linearlayout 为垂直方向布局 
  8.          
  9.         layout.addView(createView("小张")); 
  10.         layout.addView(createView("小林")); 
  11.         layout.addView(createView("小李")); 
  12.         layout.addView(createView("小黄")); 
  13.     } 
  14.  
  15.     /** 
  16.      * 方法描述:创建一个新子View
     
  17.      * 创建时间:2013-4-28 下午12:52:37 创建人:李小冰 
  18.      *  
  19.      * @param txt1 
  20.      * @param txt2 
  21.      * @return 
  22.      * ps:这个子View 里面又有两个TextView 
  23.      */ 
  24.     private View createView(String txt) { 
  25.         LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams( 
  26.                 LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); 
  27.         // View view =LayoutInflater.from(this).inflate(R.layout.view_item, null);//也可以从XML中加载布局 
  28.         LinearLayout view = new LinearLayout(this); 
  29.         view.setLayoutParams(lp);//设置布局参数 
  30.         view.setOrientation(LinearLayout.HORIZONTAL);// 设置子View的Linearlayout// 为垂直方向布局 
  31.  
  32.         //定义子View中两个元素的布局 
  33.         ViewGroup.LayoutParams vlp = new ViewGroup.LayoutParams( 
  34.                 ViewGroup.LayoutParams.WRAP_CONTENT, 
  35.                 ViewGroup.LayoutParams.WRAP_CONTENT); 
  36.         ViewGroup.LayoutParams vlp2 = new ViewGroup.LayoutParams( 
  37.                 ViewGroup.LayoutParams.WRAP_CONTENT, 
  38.                 ViewGroup.LayoutParams.WRAP_CONTENT); 
  39.          
  40.         TextView tv1 = new TextView(this); 
  41.         TextView tv2 = new TextView(this); 
  42.         tv1.setLayoutParams(vlp);//设置TextView的布局 
  43.         tv2.setLayoutParams(vlp2); 
  44.         tv1.setText("姓名: "); 
  45.         tv2.setText(txt); 
  46.         tv2.setPadding(calculateDpToPx(50), 000);//设置边距 
  47.         view.addView(tv1);//将TextView 添加到子View 中 
  48.         view.addView(tv2);//将TextView 添加到子View 中 
  49.         return view; 
  50.     } 
  51.      
  52.     /** 
  53.      * 方法描述:从布局中加载新子View
     
  54.      * 创建时间:2013-4-28  下午2:09:57   创建人:李小冰 
  55.      * @param txt 
  56.      * @return 
  57.      */ 
  58.     private View createView2(String txt){ 
  59.         LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams( 
  60.                 LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); 
  61.          View view =LayoutInflater.from(this).inflate(R.layout.view_item, null);//也可以从XML中加载布局 
  62.          
  63.         view.setLayoutParams(lp);//设置布局参数 
  64.        
  65.         TextView tv1 = (TextView) view.findViewById(R.id.tv_1); 
  66.         TextView tv2 = (TextView) view.findViewById(R.id.tv_2); 
  67.         tv1.setText("姓名: "); 
  68.         tv2.setText(txt); 
  69.      
  70.         return view; 
  71.     } 
  72.      
  73.     /** 
  74.      * 方法描述:把dp转换为px
     
  75.      * 创建时间:2013-4-28  下午2:17:38   创建人:李小冰 
  76.      * @param tv 
  77.      * @return 
  78.      */ 
  79.     private int calculateDpToPx(int padding_in_dp){ 
  80.             final float scale = getResources().getDisplayMetrics().density; 
  81.             return  (int) (padding_in_dp * scale + 0.5f); 
  82.     } 

ps:调用createView()和调用createView2()效果一样。

 

更多相关文章

  1. android -> 修改自动转为大写 的textAllCaps 属性
  2. Android中如何设置RadioButton在文字的右边,图标在左边
  3. android对话框大全
  4. Android(安卓)仿微信Activity左右切换 【全局配置Activity显示动
  5. android中的dispatchTouchEvent、onInterceptTouchEvent和onTouc
  6. Android(安卓)ormlite 框架介绍
  7. Android——继承SimpleAdapter重写自己的getView
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. Busybox for android
  2. Android(安卓)学习笔记(十六):Widget-进度条
  3. android中的帧动画
  4. Android(安卓)查看源码
  5. ANDROID url资源站
  6. android 之 adb shell的使用
  7. Activity配置属性
  8. H5判断 移动端 是android还是ios
  9. android 学习笔记: manifest.xml中声明多
  10. android adb shell 命令大全