Android开发笔记(7.10)
关于编译器
1. 颜色切换
一开始对白色界面看着眼睛不舒服,开启黑色状态:Files->Setting->Appearance&Behavior->Appearance中第一个选项Theme选择Darcula即为黑夜模式。
问题总和
1. 什么是回调?
解决:假设有一个A方法,该方法运用到一个接口和接口中的抽象方法,但是抽象方法没有具体实现,需要B类去实现该方法,而B类方法实现该方法中,它本身不会使用该方法,而是传递给A类,让A类去实现,这种机制成为回调。
布局管理器
1. 线性布局(LinearLayout)
线性布局是最常见也是使用最多的布局。
2. 表格布局(TableLayout)
表格布局是线性布局的扩展,本质上还是线性布局。表格布局采用行,列的方式来管理UI组件。TableLayout不需要明确声明包含多少行多少列,而是通过添加TableRow,其他组件来控制表格的行数和列数。
-
TableLayout中添加一个TableRow,该TableRow就是一个表格行,在该TableRow中添加控件,每添加一个子控件就直接占用一行,TableRow也是一个容器。
-
如果在TableLayout中添加组件,那么该组建直接占用一行。
-
在表格布局中,列宽取决于该列中最宽的组件。整个表格的宽度则取决于父容器的宽度(默认总是占满父容器本身)。
表格容器中,单元格格式(某个列的设置)有以下三种行为方式。
- Shrinkable:该列的所有单元格宽度可以收缩以适应父容器的宽度。
- Strechable:该列的所有单元格宽度可以被拉伸保证组件能够完全填满表格空余空间。
- Collapsed:该列所有单元格会被隐藏。
3. 帧布局(FrameLayout)
帧布局由FrameLayout所代表,直接继承了ViewGroup组件。为每个加入其中的组件都创建一个空白的区域(称为每一帧)
类似覆盖元素布局(类似css里面的relative,实现重复覆盖)
4. 绝对布局(AbsoluteLayout)
现在使用绝对布局不是一个好的想法,现在手机分辨率变化很多,一直选用绝对布局是不明智的选择,已经过时。
&emsp若是一定想选用绝对布局,尽量采用距离单位dp(一种基于屏幕密度的抽象单位)
5. 约束布局
从功能上说,约束布局是相对布局的改进,可以控制布局在各处的百分比,或者使控件位于左边25dp处。(有点和css中left,right挺像)
Android studio中空项目的时候的“HelloWorld”就是约束布局。
一般约束布局可以拖动xml流览图里面的带圆圈的点来实现,如果觉得不够精准可以使用studio提供的Inspector经行控制
注:约束布局里面的width或者height:match constraint或是0dp,指的是宽度或者高度完全按照约束计算,而不是款或高是0dp。