赞
踩
布局管理器负责安排一个区域内的多个控件的大小和位置。从外面看,布局管理器是一个控件;从内部看,布局管理器又是一个容器。从代码层面来说,布局管理器类都直接或间接派生自ViewGroup类。从运行时的对象层面来说,布局管理器对象可以管理多个控件对象。布局管理器可以嵌套。
Android提供多种布局管理器,采用不同方式管理内部控件。可以采用布局文件和Java代码两种方式创建和管理布局管理器。Android常用布局管理器有:
1、 新建一个线性布局文件
2、将组件拖进来并依次点击设置id
3、调整组件宽度
package com.wcm.a0301uibasic;
import android.app.Activity;
import android.os.Bundle;
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.linerlayout_test);
}
}
1、新建表格布局文件
2、设置表格布局样式,添加3个TableRow行,每行中添加相应的TextView、EditText、Button控件。
3、为了使这些控件垂直居中,将TableLayout的Gravity属性设为center_vertical
4、为了使这些控件水平居中,在每一行的左右两边各添加一个空的TextView(直接编辑XML代码),并将TableLayout的stretchColumns属性设为0,3(可拉伸列序号)
package com.wcm.a0301uibasic;
import android.app.Activity;
import android.os.Bundle;
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.tablelayout_test);
}
}
1、首先创建帧布局文件
2、向布局中添加三个TextView控件。
3、第一个TextView的Width和Height设为300dp,Background设为#FFFF0000(红色)。第二个TextView的Width和Height设为200dp,Background设为#FFFF6600(橙色)。第三个TextView的Width和Height设为100dp,Background设为#FFFFEE00(黄色)
4、设置居中(三个都设置)
效果图:
package com.wcm.a0301uibasic;
import android.app.Activity;
import android.os.Bundle;
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.framelayout);
}
}
相对布局是按照组件之间的相对位置来进行布局,如某个组件在另一个组件的左边、右边、上方或下方等
1、新建XML文件
2、添加文本,设置属性居中(勾中layout_centerInParent)
3、新建两个按钮,选中按钮,使按钮相对在文本下面(layout_below属性选文本id,相对于文本下边,layout_alignRight选文本,相对于文本右边;layout_toLeftOf选按钮,在按钮的左边)
4、在MyActivity中修改
package com.wcm.a0301uibasic;
import android.app.Activity;
import android.os.Bundle;
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.relativelayout);
}
}
约束布局ConstraintLayout类似于相对布局,各组件以另一个组件或容器的位置来确定自己的位置。约束布局从API9加入,主要为了解决布局嵌套过多的问题,现在是默认布局。与相对布局相比,约束布局可以按比例约束,更好地适配各种屏幕大小。
1、新建布局文件
2、添加button,Button水平位置为左侧距容器左侧32dp,垂直位置为容器居中,layout_constraintLeft_toLeftOf="parent"
3、Button2水平位置为右侧距容器右侧64dp,垂直位置为顶部与Button1顶部对齐,直接利用鼠标顶部连线对准,这样一个组件移动,另一个组件也会跟着移动,layout_constraintEnd_toEndOf="parent"
4、新增textView,将左边和button右边对其
textView1的水平位置为左侧与Button1右侧对齐,垂直位置为容器中偏移0.7
约束条件:layout_constraintLeft_toRightOf="@id/button1"
5、TextView2的水平位置为左侧与TextView1的右侧对齐,垂直位置为文字基线与TextView1文字基线对齐
两文本基线对齐,layout_constraintBaseline_toBaselineOf="@id/textView1"
每一个组件通过约束确定横坐标和纵坐标
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。