项目中踩过的坑 晒出来警醒后人
Broadcast
-
`java.lang.RuntimeException: Unable to instantiate receiver XXX has no zero argument constructor`
解决:
- 是否给Broadcast提供空构造函数
- Broadcast为内部类时一定要声明为static
margin / padding
顾名思义,padding为内边距,指该控件内部内容,如文本/图片距离该控件的边距;margin指的是外边距,指该控件距离边父控件的边距。
具体感觉如下图:
- 使用场景:
如果imageview对应的图片比较小,点击不容易点中,通过增加padding可以增大点触敏感度
src / background
两者都可以设置ImageView的背景, 但是还是有一些区别的,src是图片内容(前景),bg是背景,可以同时使用。
- 图片拉伸:background会根据ImageView的长宽进行拉伸,按照组件的大小来放大或者缩小图片。src就存放的是原图的大小,不会进行拉伸,原图显示,不该变图片的大小。
- 改变图片透明度:src在设置ImageView的setAlpha()时有效果,background在设置ImageView的setAlpha()时无效果。
慎用Toast
不要在非主线程使用Toast
兼容
魅族:
解决:打开手机管家,=》权限管理,=》usb安装管理=》选择关闭