基本概念 AnimatedContainer 是一個(gè)可以動態(tài)改變其屬性的容器控件。當(dāng)其屬性發(fā)生變化時(shí),它會自動以動畫的方式過渡到新的狀態(tài),而不需...
投稿
基本概念 AnimatedContainer 是一個(gè)可以動態(tài)改變其屬性的容器控件。當(dāng)其屬性發(fā)生變化時(shí),它會自動以動畫的方式過渡到新的狀態(tài),而不需...
經(jīng)常遇到以下情況:檢查Map 中的值是否存在,如果不存在則創(chuàng)建。最后返回值。如下: 如上所示,需要從 map中取出key對應(yīng)的 list 進(jìn)行后...
使用 app:layout_constraintDimensionRatio 屬性可以約束控件的寬高比例。例如,我想要顯示一個(gè)正方形的圖片,則使...
使用 isArrayOf 函數(shù)可以判斷該數(shù)組元素是否是對應(yīng)類型的。例: 以上代碼片段,判斷了 value 是否是 Array 類型的。
有時(shí)候需要對比兩段代碼,找出其中的區(qū)別,用肉眼顯然是不可靠的。利用 Android Studio 的 Compare with Clipboar...
阻止 onError onErrorResumeNext 的目的是使 ObservableSource 將控制權(quán)傳遞給另一個(gè) Observabl...
在組件化的過程中,一個(gè)模塊可能會作為一個(gè)組件集成在殼 app 中,也可以作為一個(gè)獨(dú)立 app 運(yùn)行。這兩種情況需要使用不同的 AndroidMa...
在項(xiàng)目開發(fā)的過程中,模塊的 build.gradle 中可能會寫進(jìn)很多代碼,使其行數(shù)變得很多。所以提取出一部分工具方法,放到 utils.gra...
第一種方式,使用 Exception: 第二種方式,使用 Thread.getStackTrace():
一般來說遇不到這種情況,但是還是記錄一下。一般形式如下: 也就是調(diào)用方法前的句點(diǎn) . 之后緊跟泛型類型。這既可以是靜態(tài)方法,也可以是對象方法,形...