类加载顺序:
成员变量 --> 构造方法 --> 普通方法
出现FC
1、看日志:
a、 首先查看异常类型:NullPointException 空指针异常
ClassCastException 类转换异常
b、从异常类型往下看,找到第一行自己的代码(显示代码出错行数)
c、双击定位到出现问题的代码
Logcat 日志
作用:调试
1、log.v
调试的颜色是黑色的,任何消息都会输出 v verbose 啰嗦的意思
2、Log.d("onClick", "onClick");
调试的颜色是蓝色的,输出调试的信息
3、Log.i("onClick", "onClick");
调试的颜色是绿色的,一般性的提示消息
4、Log.w("onClick", "onClick");
调试的颜色是橙色的,warning警告的意思,提示我们注意优化代码
5、Log.e("onClick", "onClick");
调试的颜色是红色的,erro 错误的意思
Assert 断言 单元测试
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
//前景图片
android:src="@drawable/ic_launcher"
//设置背景图片(所有控件通用属性、也可以设置颜色)
android:background="@drawable/special_item1"
//设置前景图片的拉伸模式
android:scaleType="center"
值:center : 居中不放大
fitXY : 按照控件的宽高缩放
fitStart: 从左侧开始按照图片的宽高缩放
/>
注意:res文件夹下面的文件命名规则:
a~z,_, 数字 (并且不能以数字开头)
ImageButton 继承 ImageView
layout 布局
1、LinearLayout 线性布局
android:orientation="vertical" 设置布局里面控件的排列方式
值:vertical 垂直
horizontal 水平
控件在LinearLayout里面的特有属性:
android:layout_weight="1" 权重、比重
平分布局剩余空间(剩余空间可以为负)
控件的大小 = 控件的原大小 +
(剩余空间/参与平分的控件权重和) * 当前控件的权重
android:layout_gravity="center" 控件在布局里面的对齐方式(LinearLayout)
值:上(top)下(bottom)
左(left)右(right)
居中(center)
控件的通用属性:
内容跟控件之间的间隙:
android:padding="30dp" 四周
android:paddingBottom(下)
android:paddingTop (上)
android:paddingLeft (左)
android:paddingRight (右)
控件之间的间隙:
android:layout_margin="30dp" 四周
android:layout_marginTop 上
android:layout_marginBottom 下
android:layout_marginLeft 左
android:layout_marginRight 右
内容在控件里面的对齐方式:
android:gravity="left|center_vertical"
值:上下左右居中
注意:要跟layout_gravity 区分开来
如果控件宽高是适应内容的话,着不生效这些通用属性。
2、RelativeLayout 相对布局
控件在相对布局里面的对齐方式:
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
控件之间的位置关系:
android:layout_above="@+id/button1" 在button1上面
android:layout_toLeftOf="@+id/button1"
android:layout_toRightOf="@+id/button1"
android:layout_below="@+id/button1"
控件之间的对齐关系:
android:layout_alignLeft="@+id/button1"
android:layout_alignRight="@+id/button1"
android:layout_alignTop="@+id/button1"
android:layout_alignBottom="@+id/button1"
3、FrameLayout 帧布局
特性:层叠控件
4、TableLayout 表格布局
每一行都是一个tablerow
每一列的列宽是由这一列里面最宽的那个控件决定的。
5、AbsoluteLayout 绝对布局
不建议使用
注意:布局之间是可以嵌套