原创 ProgressBar 前景色、背景色、平滑顯示進度(簡略版)

一、要實現的效果: 1、底色;2、進度色(有斜條紋);3、有文字顯示狀態;4、平滑地展示進度(有前進的過程)。 二、實現如下: 1、佈局 使用FrameLayout + textView實現文字狀態顯示。 ProgressBar的 屬性

原创 《Android開發藝術探索》 View的滑動

目錄 一、座標系 二、VelocityTracker、GestureDetector 1、VelocityTracker 2、GestureDetector 三、View的滑動 1、layout() 2、offsetLeftAndRigh

原创 使用BaseMultiItemQuickAdapter遇到的crash:Resources$NotFoundException: Resource ID #0xfffffe6c

信息如下: android.content.res.Resources$NotFoundException: Resource ID #0xfffffe6c at android.content.res.Reso

原创 《Android進階之光》Design Support Library常用控件(一):Snackbar、FloatingActionButton、TabLayout、NavigationView

一、SnackBar private void showSnackBar() { //第一個參數是爲了找到Snackbar的父控件,給個view就行 Snackbar.make(mBtnShowS

原创 《Android進階之光》Design Support Library常用控件(二):CoordinatorLayout

說起CoordinatorLayout,一直不是很明瞭,也沒正在用過,只是看到現在項目中有使用到。就跟着《Android進階之光》以及一篇博客CoordinatorLayout的使用如此簡單學習了。 CoordinatorLayout是協

原创 Android進階之光》Design Support Library常用控件(三):AppBarLayout、CollapsingToolbarLayout

AppBarLayout 用AppBarLayout 可讓你定製當某個可滾動View的滾動手勢發生變化時,其內部的子View實現何種動作。 CollapsingToolbarLayout CollapsingToolbarLayout是

原创 《Android進階之光》ToolBar 與 Drawerlayout 與 Palette

Toolbar是Actionbar的升級版,更加自由。效果圖: 一、使用步驟 首先引入: implementation 'com.android.support:appcompat-v7:28.0.0' impleme

原创 《Android進階之光》運行時權限Permission

Android6.0新特性,運行時權限。以打電話爲例。 步驟: 1、檢查權限:有就打電話;沒有就請求權限(如果之前用戶拒絕過,先提示爲啥需要這個權限)。 2、請求權限回來後:如果成功就打電話;沒成功就提示被拒絕(如果勾選了“不再詢問”則提

原创 《Android進階之光》3種通知 Notification實例

直接上代碼: /** * 普通通知 */ private void sendOrdinaryNotification() { NotificationManager notificatio

原创 Android中的持續集成CI系統、代碼review、自動化代碼檢測:Gitlab+Gerrit+Jenkins+Sonar

關於公司代碼質量提高,收集了以下方案和工具。 一、自動化代碼檢測工具 Android Studio自帶的Lint、findBugs插件、PMD、CheckStyles。ali 參考:《使用四大插件提高Android中的代碼質量》 這是本地

原创 2018總結 & 2019計劃

今天第一次寫個人年終 總結,覺得很有必要。 工作第五個年頭,前兩年基本是浪費時間。以往 到這個時候也會在心裏 做一個總結,但卻是十分模糊,沒有真正對過去一年完整地覆盤,新一年的計劃沒有清晰起來,導致行動力不足,拖延懈怠。 2018總結 年

原创 DataBinding的學習使用

先看兩個問題: 問題1:android開發中,需要使用到findviewById來進行初始化view,如果頁面,可能會看到幾十行的findviewById方法,而如果需要設置點擊事件,又要幾十行的代碼。 解決:ButterKnife,自動

原创 ClearEditText點擊外部空白區域 , 隱藏光標、隱藏close、隱藏軟鍵盤

/** * 點擊空白位置 ,隱藏光標、隱藏close、隱藏軟鍵盤 */ private void initPhoneNumberEditText() { mCetTopUpPhoneNumner.setFocusListe

原创 ButterKnife集成後編譯報錯:要使用 Java1.8

解決方法——gradle添加 : android {     compileOptions {         sourceCompatibility 1.8         targetCompatibility 1.8     } }

原创 Volley---適合場景:適合數據量小、頻率高的請求,爲什麼?

一、簡介 Volley請求網絡 是基於請求隊列的,只要把請求放入請求隊列就可以了。 Voller底層封裝的是HttpUrlConnection,支持圖片加載,網絡請求排序,優先級處理,緩存,與Activity生命週期聯動。擴展性好,支持h