項(xiàng)目中踩過的坑 曬出來警醒后人
Broadcast
-
`java.lang.RuntimeException: Unable to instantiate receiver XXX has no zero argument constructor`
解決:
- 是否給Broadcast提供空構(gòu)造函數(shù)
- Broadcast為內(nèi)部類時(shí)一定要聲明為static
margin / padding
顧名思義,padding為內(nèi)邊距,指該控件內(nèi)部?jī)?nèi)容,如文本/圖片距離該控件的邊距;margin指的是外邊距,指該控件距離邊父控件的邊距。
具體感覺如下圖:

- 使用場(chǎng)景:
如果imageview對(duì)應(yīng)的圖片比較小,點(diǎn)擊不容易點(diǎn)中,通過增加padding可以增大點(diǎn)觸敏感度
src / background
兩者都可以設(shè)置ImageView的背景, 但是還是有一些區(qū)別的,src是圖片內(nèi)容(前景),bg是背景,可以同時(shí)使用。
- 圖片拉伸:background會(huì)根據(jù)ImageView的長(zhǎng)寬進(jìn)行拉伸,按照組件的大小來放大或者縮小圖片。src就存放的是原圖的大小,不會(huì)進(jìn)行拉伸,原圖顯示,不該變圖片的大小。
- 改變圖片透明度:src在設(shè)置ImageView的setAlpha()時(shí)有效果,background在設(shè)置ImageView的setAlpha()時(shí)無效果。
慎用Toast
不要在非主線程使用Toast
兼容
魅族:
解決:打開手機(jī)管家,=》權(quán)限管理,=》usb安裝管理=》選擇關(guān)閉