android动态布局:用java代码实现LinearLayout以及TextView
16lz
2021-01-23
代码如下:
- packagecom.app;
- importcom.app.form.AutoCompleteActivity;
- importcom.app.form.ProgressActivity;
- importcom.app.form.RadioAndCheckboxActivity;
- importcom.app.form.RatingBarActivity;
- importcom.app.form.SeekBarActivity;
- importcom.app.form.SpinnerActivity;
- importcom.app.form.ToggleButtonActivity;
- importcom.app.list.ExpandableList1;
- importandroid.app.Activity;
- importandroid.content.Intent;
- importandroid.os.Bundle;
- importandroid.view.View;
- importandroid.view.View.OnClickListener;
- importandroid.view.ViewGroup.LayoutParams;
- importandroid.widget.LinearLayout;
- importandroid.widget.TextView;
- /**
- *范例:五种布局方式的范例
- *1.该文件中没有用到XML形式的静态布局,而是动态布局
- *@authorAdministrator
- */
- publicclassMainActivityextendsActivityimplementsOnClickListener{
- //实例化一个10个TextView的数组
- TextViewtvArray[]=newTextView[20];
- //实例化一个线性布局的参数
- LinearLayout.LayoutParamslp1=newLinearLayout.LayoutParams(
- LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
- LinearLayout.LayoutParamslp2=newLinearLayout.LayoutParams(
- LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- //实例化线性布局并设置垂直方向
- LinearLayoutlin1=newLinearLayout(this);
- lin1.setOrientation(LinearLayout.VERTICAL);
- //创建n个TextView并设置ID监听器等,最后添加到线性布局中
- for(inti=0;i<20;i++){
- tvArray[i]=newTextView(this);
- tvArray[i].setId(i);
- tvArray[i].setOnClickListener(this);
- lin1.addView(tvArray[i],lp2);
- }
- //设置各TextView的文本
- tvArray[0].setText("表单控件-单选Radio和复选Checkbox");
- tvArray[1].setText("表单控件-下拉菜单Spinner");
- tvArray[2].setText("表单控件-自动完成AutoComplete");
- tvArray[3].setText("表单控件-进度条ProgressBar");
- tvArray[4].setText("表单控件-滑动条SeekBar");
- tvArray[5].setText("表单控件-评分RatingBar");
- tvArray[6].setText("表单控件-ToggleButton");
- tvArray[7].setText("复合控件-列表ListView");
- tvArray[8].setText("复合控件-折叠式列表ExpandableList");
- tvArray[9].setText("复合控件-网格视图GridView");
- tvArray[10].setText("复合控件-滚动视图ScrollView");
- setContentView(lin1);//此处从R.layout.XXX改成了某个View的实例
- }
- @Override
- publicvoidonClick(Viewv){
- Intentintent=newIntent();
- if(v.getId()==0){
- intent.setClass(MainActivity.this,RadioAndCheckboxActivity.class);
- }elseif(v.getId()==1){
- intent.setClass(MainActivity.this,SpinnerActivity.class);
- }elseif(v.getId()==2){
- intent.setClass(MainActivity.this,AutoCompleteActivity.class);
- }elseif(v.getId()==3){
- intent.setClass(MainActivity.this,ProgressActivity.class);
- }elseif(v.getId()==4){
- intent.setClass(MainActivity.this,SeekBarActivity.class);
- }elseif(v.getId()==5){
- intent.setClass(MainActivity.this,RatingBarActivity.class);
- }elseif(v.getId()==6){
- intent.setClass(MainActivity.this,ToggleButtonActivity.class);
- }elseif(v.getId()==7){
- intent.setClass(MainActivity.this,ListsActivity.class);
- }elseif(v.getId()==8){
- intent.setClass(MainActivity.this,ExpandableList1.class);
- }elseif(v.getId()==9){
- intent.setClass(MainActivity.this,Grid.class);
- }elseif(v.getId()==10){
- intent.setClass(MainActivity.this,ScrollViewActivity.class);
- }
- startActivity(intent);
- }
- }
更多相关文章
- 短视频直播系统开发Android中常用控件
- android里,addContentView()动态增加view控件,并实现控件的顶部,中
- Android中动态设置布局高度一致
- 安卓(Android)九宫格布局介绍
- Android 自定义时钟控件
- Android Studio学习:中级控件:使用Intent进行页面之间数据传输