原创 AndroidStudio 高版本發佈插件到Maven

本文上傳插件適用於gradle7.0以上版本 配置   高版本插件配置相對複雜些,具體可參考官方文檔: 官方文檔發佈到maven庫 簡單配置如下所示: publishing { publications { ma

原创 AndroidStudio 低版本發佈插件到Maven

本文上傳插件適用於gradle7.0以前版本 配置   低版本插件配置相對簡單,如下所示: uploadArchives { repositories.mavenDeployer { repository(url

原创 Android 抽取ViewBinding和ViewModel

前言   最近根據項目需要抽取了一套針對MVVM模式的BaseActivity和BaseFragment,使View與ViewModel不再需要在每個Activity或者Fragment不需要單獨創建,目前屬於比較簡單的版本,直接把代碼放下

原创 Android 實現單Activity多Fragment頁面項目

前言   以往項目都是多Activity實現,總體實現很方便。但是現在流行使用單Activity+多Fragment的形式實現項目,例如比較流行的Navigation基本可以滿足,但是有時候會存在從一個頁面跳轉到另一個頁面並且回傳數據的問題

原创 Android 實現View邊緣漸入漸出

前言   有時候做項目的時候,遇到滾動的RecyclerView或者ScrollView滾動到邊緣要展示漸入漸出效果,如果是使用圖片設置的話,圖片的背景色可能與當前整個視圖的背景顏色衝突,並且圖片也會增大Apk體積。有沒有什麼好的方法可以使

原创 Android 如何去封裝多狀態展示頁面

簡要   如何做一個多狀態頁面呢?大致分爲網絡異常頁面,無內容頁面,加載頁面,還有成功頁面。還有像網絡錯誤重試功能,平時的話如果每個頁面都去寫一套是非常麻煩的,並且各種狀態切換非常不方便,可能還會出錯。我以前也做過一個多狀態頁面,現在回想起

原创 Android 自定義電動車充電進度條

  最近在做電動車的充電功能,其中有個充電過程中,隔一段時間去更新充電狀態的功能。充電過程中,相對於數據的改變,電池的電量更受用戶關注。所以這裏面就涉及到自定義View,整個過程主要涉及到測量和繪製,這其中又包括背景顏色繪製、線條的繪製、文

原创 MeasureSpec理解

簡要   今天來聊聊MeasureSpec,記得剛接觸的也感覺很難理解,知其然不知其所以然。MeasureSpec其實在面試中還經常會被問到,如果沒有真正去理解它,不論是後續的開發或者面試中,難免會成爲絆腳石。遂今天在此聊聊這個,可能以下文

原创 LiveData升級版

前言 系統的Livedata由於內部使用ObserverWrapper封裝Observer,通過粘性效果實現通知,有些時候不需要粘性通知,需要在訂閱之後再觀察事件,通過反射修改如下: public class BusMutableLiveD

原创 Android 輕量級分享封裝 前言 屬性介紹 微信分享 QQ分享 原生分享 微博分享 分享總結

前言 提到分享,幾乎所有應用都會有的功能,雖然說不是難點,但是還是要有。最近公司也在做分享功能,以前也做過很多次分享,基本都是集成第三方分享SDK,然後按照開發文檔步驟完成。隔一段時間就會忘記來龍去脈,再次做分享,還要去查看官方文檔。因此,

原创 Android 事件分發實例之綜合篇(三) 前言 實現效果 屬性介紹 處理滑動事件 附屬功能 最後

前言 Android 事件分發實例之右滑結束Activity(一) Android 事件分發實例之右滑結束Activity(二) 前兩篇主要是介紹通過處理滑動事件實現右滑結束Activity,功能簡單,並且存在諸多不足之處。在思考之後,遂想

原创 Android 事件分發實例之右滑結束Activity(一) 總結

前言 以前就想着做一系列實際項目中用到關於事件分發的例子,以前研究過壁紙,有一種壁紙是音樂鎖屏壁紙,音樂鎖屏就需要用到右滑結束activity,遂想着研究事件分發不錯的例子,當時是使用ViewDraghelper實現的,不過部分事件分發沒處

原创 Android 事件分發實例之綜合篇(三)

前言 Android 事件分發實例之右滑結束Activity(一) Android 事件分發實例之右滑結束Activity(二) 前兩篇主要是介紹通過處理滑動事件實現右滑結束Activity,功能簡單,並且存在諸多不足之處。在思考之後,遂想

原创 Android 修改BottomSheetDialog不滾動到頂部

前言 今天談一談MD風格的彈窗BottomSheetDialog,很多應用中都會使用,效果很好,交互性很好。比如:抖音的評論框和網音樂的音樂列表。不過系統自帶的BottomSheetDialog會在展開狀態的時候可以繼續上滑至屏幕頂部,這樣

原创 Android 修改TabLayout選中狀態字體大小

前言 TabLayout對於我們來說並不陌生,大部分項目都會使TabLayout+Viewpager+Fragment展示首頁列表內容,一般情況下,只會設置選中時tab顏色改變,並不會設置字體大小的改變,這些從TabLayout的屬性亦可知