更新时间:2022-09-16 21:05:13
Android 除了能够载入xml文件,显示布局外,也能够代码生成布局,并通过setContentView(View view)方法显示布局。单独的一层布局,如一个主布局加一个控件(如Button\imageView等)动态生成代码比較简单。以下仅仅给出演示样例代码:
package com.example.android_dongtaishengcheng; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.RelativeLayout; import android.widget.Toast; import android.widget.RelativeLayout.LayoutParams; public class MainActivity extends Activity { RelativeLayout relativeLayout = null; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); relativeLayout = new RelativeLayout(this); LayoutParams params = new LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT); relativeLayout.setLayoutParams(params); relativeLayout.setBackgroundResource(R.color.back); setContentView(relativeLayout); button = new Button(this); LayoutParams params2 = new LayoutParams(300, 300); button.setLayoutParams(params2); params2.addRule(RelativeLayout.CENTER_IN_PARENT); button.setText("hello"); relativeLayout.addView(button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub startActivity(new Intent(MainActivity.this,SecondActivity.class)); } }); } }以下进入重点:多层嵌套布局的动态生成。
情景描写叙述:父布局是一个线性布局,其子布局按竖直方向排列。子布局的子布局也是一个线性布局,按水平方向排列。
事实上非常easy,关键点在于。怎样控制主布局的子布局换行显示。即实现Orientation = "vertical"。能够在子布局外在加一层布局,即以下的drawParent()方法,该方法用来生成父布局的直接子布局,drawView()方法用来生成直接子布局的子布局(该布局也是多层嵌套)。能够实现例如以下图效果:
贴出代码例如以下:
}
本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5111135.html,如需转载请自行联系原作者