Android常用知识点整理

线性布局

线性布局是按照水平方向或者垂直方向依次摆放的布局方式。下面通过两个例子,讲解线性布局。

例子1:四方格布局

1. 确立父布局

LinearLayout fatherLayout = new LinearLayout(context);
fatherLayout.setOrientation(LinearLayout.VERTICAL); //垂直摆放
LayoutParams fatherLayout_params = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);  //设置参数,水平填满,垂直填满;
view.addView(fatherLayout, fatherLayout_params);  //添加布局

2. 水平分割,分为上下两部分,分别为A和B

LinearLayout ll_A=new LinearLayout(context);
LinearLayout.LayoutParams ll_A_params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0,1.0f);//水平填满,分为上下两格
fatherLayout.addView(ll_A, ll_A_params);

LinearLayout ll_B=new LinearLayout(context);
LinearLayout.LayoutParams ll_B_params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0,1.0f);//水平填满,分为上下两格
fatherLayout.addView(ll_B, ll_B_params);

3. A和B再垂直分割,分为A1和A2左右两格

LinearLayout ll_A1=new LinearLayout(context);
		LinearLayout.LayoutParams ll_A1_params = new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT,1.0f);//垂直填满,水平分割
		ll_A.addView(ll_A1, ll_A1_params);

		Sensor1 = new SensorView(context,"Sensor1");
		ll_A1.addView(Sensor1);

		LinearLayout ll_A2=new LinearLayout(context);

		LinearLayout.LayoutParams ll_A2_params = new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT,1.0f);//垂直填满,左右分割
		ll_A.addView(ll_A2, ll_A2_params);

例子2:三分布局

常用的三分布局方式如上图(图片网上找的)

1. 父布局

LinearLayout fatherLayout = new LinearLayout(context);
fatherLayout.setOrientation(LinearLayout.horizontal); //水平摆放
LayoutParams fatherLayout_params = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);  //设置参数,水平填满,垂直填满;
view.addView(fatherLayout, fatherLayout_params);  //添加布局

2. 左右两格布局。

LinearLayout L11 = new LinearLayout(context);
L11 .setOrientation(LinearLayout.vertical); //内部垂直摆放
LayoutParams L11_params = new LayoutParams(Axisz.scaleX(300),LayoutParams.MATCH_PARENT);  //设置参数,宽度300,垂直填满;
fatherLayout.addView(L11 , L11_params );  //添加布局

LinearLayout L12 = new LinearLayout(context);
L12 .setOrientation(LinearLayout.vertical); //内部垂直摆放
LayoutParams L12_params = new LayoutParams(Axisz.scaleX(600),LayoutParams.MATCH_PARENT);  //设置参数,宽度600,垂直填满;
fatherLayout.addView(L12 , L12_params );  //添加布局

3. L12中,再添加上下两格布局,形成上下分割。

相对布局

相对布局可以根据Parent的位置进行布局

tv_Hour_params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);  //距离底部距离

根据距离底部的距离进行定位。

tv_Hour_params.setMargins(Axisz.scaleX(350), 0, 0, Axisz.scaleY(243));

猜你喜欢

转载自blog.csdn.net/book_drabit/article/details/82945861