所有應(yīng)用:無論 targetSdkVersion 是否小于 28,都需要修改應(yīng)用以正確支持這些變更朦肘。 API 28+ 應(yīng)用的行為變更:指 targetSdkVersion 為...
![240](https://upload.jianshu.io/users/upload_avatars/5879852/284c4307-df12-4e3b-9ccc-b1c38c529e3a.jpeg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
所有應(yīng)用:無論 targetSdkVersion 是否小于 28,都需要修改應(yīng)用以正確支持這些變更朦肘。 API 28+ 應(yīng)用的行為變更:指 targetSdkVersion 為...
一. 布局優(yōu)化 核心思想:減少布局文件層級布局層級減少 -> 繪制工作量減少 ->性能提高 刪除布局中無用控件和層級 有選擇的使用ViewGroup優(yōu)先使用 LinearLa...
雖然很多人點贊唾戚,我覺得是又臭又長,你花大篇幅整理了怎么分發(fā) 卻沒有點明為什么會這樣陪白。很多新人估計看一遍覺得不錯,實戰(zhàn)或者去面試膳灶,依然啥都記不住不知道咱士,也不知道為什么。說到底還是個返回值傳遞的問題轧钓。相互是個什么干擾序厉,你列舉這么多情況反而是一種記憶負(fù)擔(dān)。
我舉例ViewGroup的dispatchTouchEvent你如果點明 內(nèi)部是
ViewGroup
View[] views=getChildView();
for(int i=0;i<views.length;i++){
//判斷下Touch到屏幕上的點在該子View上面
if(...){
if(views[i].dispatchTouchEvent(ev))
return true;
}
}
view的內(nèi)部dispatchTouchEvent其實就是自己的onTouchEvent
View
public boolean dispatchTouchEvent(MotionEvent ev){
....//其他處理毕箍,在此不管 return onTouchEvent(event);
}
這就不容易解釋為什么不攔截的情況下弛房,就是子不要父才能要 只要一個子要,就不繼續(xù)往下執(zhí)行而柑,父就不能要的嗎 因為直接return了 循環(huán)終止了文捶。
測試代碼 報錯信息 報錯信息有兩點提示: Toast 需要創(chuàng)建 handler Handler 里需要有關(guān)聯(lián)的Looper:調(diào)用 Looper.prepare 疑問:那么是不...
對Retrofit已經(jīng)使用了一點時間了种远,是時候歸納一下各種網(wǎng)絡(luò)請求的service了。 下面分為GET顽耳、POST坠敷、DELETE還有PUT的請求,說明@Path射富、@Query膝迎、...
前言 一般項目我都會使用Glide作為我的圖片加載框架,他和Picasso ,真的很像胰耗,郭大神早就分析過了限次,很詳細(xì),這里也就簡單做個記錄宪郊。小白白一枚掂恕,學(xué)習(xí)路上 Android...
漫漫讀書路懊亡,你一定掉進(jìn)過以下讀書的坑: 想讀書但不知道該讀什么書; 當(dāng)當(dāng)大促看著別人屯書嗨乎串,自己完全不知該買什么店枣; 網(wǎng)上書單太多不知道哪個適合自己; 終于下決心讀點書叹誉,又發(fā)現(xiàn)...