Android基础入门
认识程序中的文件
- activityu_main.xml文件主要用于完成界面的交互功能
- MainActivit继承制AppCompatActivity,当Activity执行时首先会调用onCreate()方法,在该方法中通过setContentView(R.layout.activity_hello_world)将布局文件转化成View对象,显示在界面上。
- 每个Android Q程序创建成功后,都会自动生成一个清单文件AndroidManifest.xml(位于manifests文件件),该文件是整个项目的配置文件,程序中定义的四大组件(Activity,BroadcastReceiver,Service,ContentProvider)都需要在该文件中进行注册。
Android UI开发
布局的类型
Android系统为开发人员提供了5中常用布局:LinearLayout(线性布局),RelativeLayout(相对布局),FrameLayout(帧布局),TableLayout(表格布局),AbsoluteLayout(绝对布局)
线性布局
在实际开发中比较常用,它主要以水平和垂直方式来显示界面中的的控件。
- orientation属性:用于控制控制控件的排列方向,该属性有vertical和horizontal(默认)两个值。
- layout_weight属性:可以直接填数字,1表示在整个控件中占据权重值为1。
相对布局
在Android程序创建时,默认采用的是相对布局。相对布局是通过相对定位的方式指定控件位置,即以其他控件或父容器为参照物,摆放控件位置。
- 设置控件位置的属性
- android:layout_开头
控件属性 | 功能描述 |
---|---|
centerlnParpent | 设置当前控件位于父布局的中央位置 |
centerVertical | 设置当前控件位于父布局的垂直居中位置 |
centerHorizontal | 设置当前控件位于父布局的水平居中位置 |
adove | 设置当前控件位于某控件上方 |
below | 设置当前空间位于某控件下方 |
toLeftOf | 设置当前控件位于某控件左侧 |
toRightOf | 设置当前控件位于某控件右侧 |
alignParentTop | 设置当前控件是否与父控件顶端对齐 |
alignParentLeft | 设置当前控件是否与父控件左对齐 |
alignParentRight | 设置当前控件是否与父控件右对齐 |
alignParentBottom | 设置当前控件是否与父控件底端对齐 |
alignTop | 设置当前控件的上边界与某控件的上边界对齐 |
alignBottom | 设置当前控件的下边界与某控件的下边界对齐 |
alignLeft | 设置当前控件的左边界与某控件左边界对齐 |
alginRight | 设置当前控件的右边界与某控件右边界对齐 |
- 设置控件间距的属性
控件属性 | 功能描述 |
---|---|
marginTop | 设置当前控件上边界与某控件的距离 |
marginBottom | 设置当前控件地边界与某控件的距离 |
marginLeft | 设置当前控件左边界与某控件的距离 |
marginRight | 设置当前控件右边界与某控件的距离 |
- 设置内边距的属性
布局属性 | 功能描述 |
---|---|
paddingTop | 设置布局顶部内边距的距离 |
paddingBottom | 设置布局底部内边距的距离 |
paddingLeft | 设置布局左边距的距离 |
paddingRight | 设置布局右边距的距离 |
padding | 设置布局四周内边距的距离 |
帧布局
Android中最为简单的一种布局,该布局为每个加入其中的空间创建一个空白区域(称为帧,每个控件占据一帧)。
采用帧布局方式设计界面时,所有控件都默认显示在屏幕左上角,并按照先后顺序重叠摆放,先放入的控件显示在最底层,后放入的控件显示在最顶层。
- FrameLayout属性
布局属性 | 功能描述 |
---|---|
android:foreground | 设置帧布局容器的前景色(始终在所有子控件之上) |
android:foregrounmdGravity | 设置情景图像显示位置 |
表格布局
以表格形式排列控件的,通过行和列将界面划分为多个单元格,每个单元格都可以添加控件。
表格布局需要和TableRow配合使用,每一行都由TableRow对象组成,隐藏TableRow的数量就是表格的行数。
而表格的列数是由包含最多控件的TableRow决定的。
- TableLayout布局属性
布局属性 | 功能描述 |
---|---|
android:stretchColumns | 设置该列被拉伸,列号从“0”开始。例如,android:stretchColumns=“0” 表示第1列拉伸 |
android:shrinkColumns | 设置该列被收缩,列号从"0"开始。例如,android:shrinkColumns="1,2"表示第2,3列可收缩 |
android:collapseColumns | 设置该列被隐藏,列号从"0"开始。例如,android:collapseColumns="0"表示第一列隐藏 |
- TableLayout控件属性
控件属性 | 功能描述 |
---|---|
android:layout_column | 设置该单元显示位置,如android:layout_column="1"表示在2个位置显示 |
android:layout_span | 设置该单元格占据几行,默认为1行 |
绝对布局
是通过指定x,y坐标来控制每一个控件位置的。
不推荐
- AbsoluteLayout属性
布局属性 | 功能描述 |
---|---|
android:layout_x | 设置x坐标 |
android:layout_y | 设置y坐标 |