原创 linux環境下ffmpeg交叉編譯android庫

FFmpeg FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,並能將其轉化爲流的開源計算機程序。 FFmpeg 是一個多媒體視頻處理工具,有非常強大的功能包括視頻採集功能、視頻格式轉換、視頻抓圖、給視頻加水印等。 由C代碼編寫而成,功

原创 PathMeasure實現自定義圓形ProgressBar

先上效果圖 實現原理 其實這種不規則的動畫,以及支付寶的支付成功動畫,實現原理都差不多,首先就是利用Path畫出完成的圖案路徑,然後利用PathMeasure測量出路徑的長度,然後PathMeasure截取出Path的片段,再結合屬性動

原创 Android Paint 進階常用API梳理

Paint還是比較複雜的,這裏只是一些常見的API舉例。 代碼結構很簡單,自定義一個GradientLayout繼承自View,MainActivity的setContentView(new GradientLayout(this))。核

原创 Android OpenGL 從0開始搭建

後面補充,先上代碼:   MainActvity: public class MainActivity extends AppCompatActivity { private GLSurfaceView glSurfaceV

原创 冒泡、選擇、插入排序及其應用場景

1.冒泡排序 冒泡排序是最簡單的排序方法,分爲內外兩層for循環。外層循序代表的是總共要跑的趟數,2個數據比較一趟。3個數據比較兩趟,以此類推,n個數據就跑n-1趟。內層循環是真正比價數據大小的。每次比較都會講大的數據放到後面。代碼如下:

原创 Android Canvas進階常用API

一、canvas位置變換 自定義一個TransformView繼承自view,在構造方法中初始化畫筆(paint): public class TransformView extends View { private Pain

原创 MVVM與DataBinding基礎(上)

1 扯淡 在DataBinding之前,我們不可避免地要編寫大量諸如  findViewById、setText和setOnClickListener等代碼。通過 Data Binding,我們可以通過聲明式佈局以精簡的代碼來綁定應用程序

原创 使用Vlayout打造淘寶首頁

先上效果圖      淘寶首頁是從上到下是各種不同的樣式,最上面是搜索,其次是一個輪播圖,再下來是10個圓角的菜單,等等,我們可以採用一個recyclerView實現,但是實現起來的複雜程度是比較高的,如果使用阿里開源的VLayout控

原创 自定義Inflater實現系統View自定義屬性,實現小紅書Parallax平行動畫

效果圖: 實現思路 整個滑動頁面是個ViewPager,Viewpager中填充多個的Fragment,手指從右向左滑的時候,當前的Fragment爲出去的Fragment,當前Fragment右邊相鄰的Fragment爲進入的Frag

原创 MVVM與DataBinding基礎(下)

  接着上一篇繼續(https://blog.csdn.net/zb987570437/article/details/103357030)   5.結合RecyclerView Data Binding 除了在 Activity 中使用

原创 Bitmap之1.動態高斯模糊 2.水印添加

主要記錄兩件事,1.高斯模糊毛玻璃效果;2.圖片水印的添加 1.高斯模糊 什麼是高斯模糊,高斯模糊(英語:Gaussian Blur),也叫高斯平滑,是在Adobe Photoshop、GIMP以及Paint.NET等圖像處理軟件中廣泛使

原创 屏幕適配之修改系統density(今日頭條屏幕適配方案)

屏幕適配好幾種,目前主流且成本最低的還是修改系統density的方案。 概念 像素:屏幕的最小單位,單位爲px。 分辨率:整個屏幕一共有多少個點,也就是像素。例如分辨率1920*1080就是指屏幕橫向和縱向分別是1920和1080個像素組

原创 Android Paint 進階之 圖層混合模式(Xfermode)

    上一節概述了Paint進階需要掌握的API,這一節針對圖層混合模式進行講解,主要是Xfermode的使用。 1.概念     圖層混合模式是將所繪製的像素與canvas中對應位置的像素按照一定規則進行混合,形成新的像素值,最終更新

原创 Android動畫0基礎學習、複習、體系化知識框架學習路線

動畫一遍一遍又一遍,忘了又看,看了又忘,尤其是碎片化嚴重,決定整理下動畫的複習流程,也方便後期自己複習,動畫的學習形成體系也是在啓艦大佬的自定義《Android自定義控件開發入門與實戰》中形成的。現在藉助大佬CSDN,整理下動畫的複習流程

原创 巨圖加載之BitmapRegionDecoder,防止OOM

先看下效果圖 實現原理 思路就是利用BitmapRegionDecoder加載巨圖的部分,不全部加載整張巨圖,然後對拖動,縮放,雙擊等進行處理,更改BitmapRegionDecoder所需要的Rect的大小,就搞定了。 代碼實現 在構