原创 類似微信首頁彈性滾動和慣性滾動效果的實現——CoordinatorLayout+Behavior

OverScroll 利用CoordinatorLayout+Behavior實現列表彈性滾動和慣性滾動效果(類似微信首頁),支持水平和垂直方向的滾動,效果如下: Usage 用法 Gradle allprojects {

原创 Android文本過長時根據關鍵字省略內容Ellipsize

有時候我們需要根據關鍵字截斷文本內容,省略多餘部分,比如微信搜索聊天記錄時會在關鍵字的前後進行截斷. 處理方式和邏輯見如下代碼和註釋: private static void ellipsizeByKeyword(final Tex

原创 Android之TextView文字省略Ellipsize(支持多行和根據關鍵字省略)

根據關鍵字省略 有時候我們需要根據關鍵字省略內容,比如微信搜索聊天記錄時會在關鍵字的前後進行省略. 處理方式和邏輯見如下代碼和註釋: private static void ellipsizeByKeyword(final Text

原创 在規定區域內自動調整文字位置

問題 最近在做一個需求,就是塗鴉時,在繪製的圖形旁邊通過文字顯示相關信息.先給大家看看最終的效果: 一開始的時候被這個問題難倒了,怎麼找到合適的位置顯示文字信息,讓它們既不超出顯示範圍,又互不重疊? 解決方案 如果考慮不能重疊的問題

原创 Android塗鴉畫板原理詳解——從初級到高級(二)

前言 前面寫了《Android塗鴉畫板原理詳解——從初級到高級(一)》,講了塗鴉原理初級和中級的應用,現在講解高級應用。如果沒有看過前面一篇文章的同學,建議先去看看哈。 準備 高級塗鴉涉及到圖片操作,包括對圖片進行縮放移動、塗鴉等,這

原创 從顯示一張圖片開始學習OpenGL ES

前言 網上很多介紹OpenGL ES的文章,但由於OpenGL ES內容太多,所以這些文章難免過於臃腫雜亂,很難抓住重點,對於初學者來說最後還是雲裏霧裏。很多人(包括筆者本人)開始深入瞭解OpenGL ES是因爲其涉及到實時濾鏡的應用,通

原创 Android塗鴉畫板原理詳解——從初級到高級(一)

準備 前段時間,發佈了多功能畫板&開源塗鴉框架Doodle,得到了一些小夥伴的關注。但由於框架代碼較多,一開始較難理解,有不少人詢問了相關的實現細節。我發現不少初學者對基本的塗鴉原理不熟悉,因此我決定寫一些簡單的例子,用於說明最基本的的塗

原创 Android消息機制基本原理

先看一段程序,在主線程裏面開啓了無限循環,處理消息隊列裏面的消息。 public class Test { private static BlockingQueue<Message> messageQueue; // 阻塞隊列

原创 Android屬性動畫封裝之快速構建動畫

Android實現動畫效果的方式主要有幀動畫、補間動畫、屬性動畫。關於安桌動畫的基礎知識可以查看這篇文章 Android屬性動畫完全解析 這裏我要講的是如何快速構建出一個動畫效果,如下圖: 如果我們用屬性動畫實現,其中點擊男性頭像後的動

原创 淺談矩陣變換——Matrix

矩陣變換在圖形學上經常用到。基本的常用矩陣變換操作包括平移、縮放、旋轉、斜切。 每種變換都對應一個變換矩陣,通過矩陣乘法,可以把多個變換矩陣相乘得到複合變換矩陣。 矩陣乘法不支持交換律,因此不同的變換順序得到的變換矩陣也是不相同的

原创 Android事件分發機制(一)

當手指觸摸屏幕後會產生一系列的事件(如點擊DOWN、移動MOVE、擡起UP等),事件的信息記錄在MotionEvent(手勢事件)對象中。這裏說的事件分發機制,其實指的是MotionEvent的分發過程。當一個MotionEvent產生了

原创 View的繪製流程

View繪製的三大流程主要指:measure(測量)、layout(佈局)、draw(繪製)。measure過程中確定View的尺寸(即寬高),layout過程中確定View的位置(即上下左右的位置),draw過程確定View顯示的內容。

原创 Android塗鴉框架Doodle——仿微信圖片編輯

前言 很久之前做了一個叫Graffiti的塗鴉項目,放在了github上,得到了不少朋友的反饋,也一直有去維護。限制於個人能力水平,一開始並沒有過多考慮框架的問題,導致越到後面,代碼越臃腫,添加新功能也越複雜,難於拓展。(自己代碼,哭着也

原创 android圖片塗鴉——旋轉與文字功能的實現原理

該項目的代碼已經重構,採用了新框架,強烈建議查看《Android全新圖片塗鴉框架Doodle——多功能、可自定義、可擴展》 (舊代碼暫時不維護了,所以推薦還是使用最新框架吧!也希望大夥支持!!!) 點擊移步到最新塗鴉框架>>>Doodle

原创 android圖片滾動選擇器的實現

之前的一篇文章《Android自定義view——滾動選擇器》(沒看過的同學建議先去了解一下)介紹了滾動選擇器的原理,並實現了字符串選擇器。現在要講講圖片選擇器的實現,以及通過選擇器實現老虎機效果。 圖片選擇器 跟字符串選擇器(Str