原创 事件分發學習總結

dispatchTouchEvent return true:表示該View內部消化掉了所有事件 return false:表示事件在本層不再繼續進行分發,並交由上層控件的onTouchEvent方法進行消費 return super.d

原创 APK體積極限壓縮優化瘦身

查看APK結構Build->Analyse Apk 未做處理的APK.jpg 開啓代碼混淆 混淆模板 release { minifyEnabled true shrinkRes

原创 導入Ffmpeg到項目

目錄結構 其中有兩個文件非常重要,分別是 native-lib.cpp 、 CMakeLists.txt。 native-lib.cpp :是一個 C++ 接口文件,在 MainActivity 中聲明的外部方法將在這裏得到

原创 編譯最新版FFmpeg

FFmpeg 編譯步驟: 配置環境(NDK,FFmpeg安裝包) 配置FFmpeg的shell腳本 執行腳本生成so庫 本文使用的是目前最新的版本 ffmpeg-4.2.3。 修改 configure 腳本,新增 cross_pre

原创 事件分發學習總結2

佈局結構 所有事件返回值都爲:return super.TouchEvent(event) E/ActivityToucEvent: dispatchTouchEvent: 0 E/ParentLayout: dispatch

原创 RecyclerView刷新數據時閃爍

關閉recyclerview動畫 recyclerView.getItemAnimator().setAddDuration(0); recyclerView.getItemAnimator().setChangeDura

原创 Android高版本dialog彈出黑色狀態欄

測試發現8.0系統彈出時會出現黑色的狀態欄很難忍受 添加依賴 implementation 'com.gyf.immersionbar:immersionbar:2.3.3-beta15' dialog中透明狀態欄 Immersion

原创 RecyclerView九宮格分隔線

九宮格分隔線,無左右邊與最下邊線 效果圖 public class GridDividerItemDecoration extends RecyclerView.ItemDecoration { private in

原创 Gradle 完整指南(Android)

�本文謝絕轉載,非要轉載,請註明出處http://www.jianshu.com/p/9df3c3b6067a 前言 爲什麼需要學Gradle? Gradle 是 Android 現在主流的編譯工具,雖然在Gradle 出現之前和之後都

原创 BRVAH官方使用指南(持續更新)

www.recyclerview.org 官方網站:www.recyclerview.org BRVAH是一個強大的RecyclerAdapter框架(什麼是RecyclerView?),它能節約開發者大量的開發時間,集成

原创 Android單元測試 - 如何開始?

回顧: 《談談爲什麼寫單元測試》 基本單元測試框架 Java單元測試框架:Junit、Mockito、Powermockito等;Android:Robolectric、AndroidJUnitRunner、Espre

原创 白底黑字!Android淺色狀態欄黑色字體模式

之前公司項目UI改版的時候,把大部分標題欄都設計成了白色,給我們的設計圖是這個樣子的: 設計圖.png 這狀態欄佈局和圖標挺像Android,但是這白底黑字Android設計規範裏可沒有啊,於是我們開發的時候果斷忽視這個狀態

原创 線程同步synchronized

monitor 同一monitor阻塞,不同monitor互斥 synchronized(鎖) Java中每一個對象都可以作爲鎖,這是synchronized實現同步的基礎: 普通同步方法(實例方法),鎖是當前實例對象 ,進入同步代碼前要

原创 爲什麼ConstraintLayout代替其他佈局?

歡迎Follow我的GitHub, 關注我的簡書. 其餘參考Android目錄. Constraint Layout 本文的合集已經編著成書,高級Android開發強化實戰,歡迎各位讀友的建議和指導。在京東即可購買:ht

原创 View動畫學習總結

佈局動畫 android:animateLayoutChanges="true" 在4.1 JellyBean上還有一個增強的功能,可以在容器內的子view的layout發生變化時也播放動畫,用法如下。 LayoutTransition