android动态布局:用java代码实现LinearLayout以及TextView

代码如下:

  
  
  
  
  1. package com.app;  
  2.  
  3. import com.app.form.AutoCompleteActivity;  
  4. import com.app.form.ProgressActivity;  
  5. import com.app.form.RadioAndCheckboxActivity;  
  6. import com.app.form.RatingBarActivity;  
  7. import com.app.form.SeekBarActivity;  
  8. import com.app.form.SpinnerActivity;  
  9. import com.app.form.ToggleButtonActivity;  
  10. import com.app.list.ExpandableList1;  
  11.  
  12. import android.app.Activity;  
  13. import android.content.Intent;  
  14. import android.os.Bundle;  
  15. import android.view.View;  
  16. import android.view.View.OnClickListener;  
  17. import android.view.ViewGroup.LayoutParams;  
  18. import android.widget.LinearLayout;  
  19. import android.widget.TextView;  
  20.  
  21. /**  
  22.  * 范例:五种布局方式的范例  
  23.  * 1.该文件中没有用到XML形式的静态布局,而是动态布局  
  24.  * @author Administrator  
  25.  */  
  26. public class MainActivity extends Activity implements OnClickListener {  
  27.         
  28.        //实例化一个10个TextView的数组  
  29.       TextView tvArray[] = new TextView[20];  
  30.        //实例化一个线性布局的参数  
  31.       LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(  
  32.                   LayoutParams. FILL_PARENT, LayoutParams.FILL_PARENT);  
  33.         
  34.       LinearLayout.LayoutParams lp2 = new LinearLayout.LayoutParams(  
  35.                   LayoutParams. FILL_PARENT, LayoutParams.WRAP_CONTENT);  
  36.  
  37.     @Override  
  38.     public void onCreate(Bundle savedInstanceState) {  
  39.         super.onCreate(savedInstanceState);  
  40.          
  41.         //实例化线性布局并设置垂直方向  
  42.         LinearLayout lin1 = new LinearLayout(this);  
  43.         lin1.setOrientation(LinearLayout. VERTICAL);  
  44.          
  45.         //创建n个TextView并设置ID 监听器等,最后添加到线性布局中  
  46.         for (int i = 0; i < 20; i++) {  
  47.              tvArray[i] = new TextView(this);  
  48.              tvArray[i].setId(i);  
  49.              tvArray[i].setOnClickListener(this);  
  50.             lin1.addView( tvArray[i], lp2 );  
  51.             }  
  52.         //设置各TextView的文本  
  53.         tvArray[0].setText("表单控件-单选Radio和复选Checkbox" );  
  54.         tvArray[1].setText("表单控件-下拉菜单Spinner" );  
  55.         tvArray[2].setText("表单控件-自动完成AutoComplete" );  
  56.         tvArray[3].setText("表单控件-进度条ProgressBar" );  
  57.         tvArray[4].setText("表单控件-滑动条SeekBar" );  
  58.         tvArray[5].setText("表单控件-评分RatingBar" );  
  59.         tvArray[6].setText("表单控件-ToggleButton" );  
  60.         tvArray[7].setText("复合控件-列表ListView" );  
  61.         tvArray[8].setText("复合控件-折叠式列表ExpandableList" );  
  62.         tvArray[9].setText("复合控件-网格视图GridView" );  
  63.         tvArray[10].setText("复合控件-滚动视图ScrollView" );  
  64.      
  65.         setContentView(lin1); //此处从R.layout.XXX改成了某个View的实例  
  66.     }  
  67.  
  68.        @Override  
  69.        public void onClick(View v) {  
  70.             Intent intent = new Intent();  
  71.              if(v.getId()==0) {  
  72.                   intent.setClass(MainActivity. this, RadioAndCheckboxActivity.class );  
  73.             } else if (v.getId()==1) {  
  74.                   intent.setClass(MainActivity. this, SpinnerActivity.class );  
  75.             } else if (v.getId()==2) {  
  76.                   intent.setClass(MainActivity. this, AutoCompleteActivity.class );  
  77.             } else if (v.getId()==3) {  
  78.                   intent.setClass(MainActivity. this, ProgressActivity.class );  
  79.             } else if (v.getId()==4) {  
  80.                   intent.setClass(MainActivity. this, SeekBarActivity.class );  
  81.             } else if (v.getId()==5) {  
  82.                   intent.setClass(MainActivity. this, RatingBarActivity.class );  
  83.             } else if (v.getId()==6) {  
  84.                   intent.setClass(MainActivity. this, ToggleButtonActivity.class );  
  85.             } else if (v.getId()==7) {  
  86.                   intent.setClass(MainActivity. this, ListsActivity.class );  
  87.             } else if (v.getId()==8) {  
  88.                   intent.setClass(MainActivity. this, ExpandableList1.class );  
  89.             } else if (v.getId()==9) {  
  90.                   intent.setClass(MainActivity. this, Grid.class);  
  91.             } else if (v.getId()==10) {  
  92.                   intent.setClass(MainActivity. this, ScrollViewActivity.class );  
  93.             }  
  94.             startActivity(intent);  
  95.       }  
  96. }  

 

你可能感兴趣的:(UI,android,LinearLayout,LayoutParams)