在代码中添加控件的简单例子

在代码中添加控件的简单例子

这是activity, 在xml中添加了一个带id的LinearLayout ,这里没必要贴出来了。

 1 public class MainActivity extends Activity {
 2 
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.activity_main);
 7         init();
 8     }
 9 
10     /**
11      * RelativeLayout.LayoutParams(-1, -2) 指定了该布局的宽和高(-1为宽,-2为高);
12      * -1代表LayoutParams.MATCH_PARENT,即该布局的尺寸将填满它的父控件;
13      * -2代表LayoutParams.WRAP_CONTENT,即该布局的尺寸将为其自身内容的尺寸;
14      */
15     private void init() {
16         // ll是位于R.layout.activity_main中的一个线性布局
17         LinearLayout ll = (LinearLayout) findViewById(R.id.ll);
18         // 这里用代码生成rl
19         RelativeLayout rl = new RelativeLayout(this);
20         // 指定宽高填充模式
21         rl.setLayoutParams(new RelativeLayout.LayoutParams(-1, -1));
22         // 添加测试用的textview
23         TextView textView = new TextView(this);
24         textView.setId(3);// 添加id,这个例子中非必要
25         textView.setText("abc");
26         // 使用RelativeLayout.LayoutParams控制textview的显示位置
27         RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(-2, -2);
28         layoutParams.setMargins(100, 100, 100, 100);
29         layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, -1);
30         // 添加view到各自的父控件
31         rl.addView(textView, layoutParams);
32         ll.addView(rl);
33     }
34 
35 }

最后textview出现在左下方。

posted @ 2013-12-30 13:05  蓝色漩涡  阅读(312)  评论(0)    收藏  举报