在代码中添加控件的简单例子
在代码中添加控件的简单例子
这是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出现在左下方。
浙公网安备 33010602011771号