原创 自定義View之定義一個簡化版的TextView

1:自定義View基本知識(這裏以一個簡化版的TextView爲例:名稱爲CustomTextView) 1.1 自定義屬性 在android的佈局文件中,我們會使用一些屬性值來使得當前的這個控件達到自己想要的效果,最基

原创 Android 6.0動態權限申請

Android 6.0運行時權限動態申請處理 最近需要在項目中對android 6.0以上的手機做權限處理,所以抽了個時間,將大於或等於6.0以上的權限處理做一個總結! android 在6.0以後,將權限分爲兩類,分別爲Norm

原创 自定義一個圓形運動步數de計步效果

今天來分享一個自定義圓形計步器的效果,通過這個demo,一起來熟悉下Paint畫筆的使用,先上一波效果圖: 首先,按照原先的自定義View的套路: 分析自定義View的效果的需求 在attrs.xml中自定義View的屬性

原创 Material Design系列文章(SnakeBar學習筆記)

Material Design系列文章(SnakeBar學習筆記) 1、SnakeBar基本使用 Snackbar.make(activity_main,"今天週五啦!",Snackbar.LENGTH_SHORT) .s

原创 Android性能優化學習記錄

對於Android的性能優化,一直感覺是一種很高大上的東西,讓人有一種去探索的慾望,但又會對其卻而止步。剛好最近買了一本關於性能優化的書(Android應用性能優化最佳實踐),所以就邊看邊學邊記錄這一塊的東西。 Android性能優化,總

原创 使用SVG打造可交互的自定義地圖

最近發現了一個好玩的東西:SVG,秉承着學以致用的原則,做了一個小demo。 先上效果圖: 這是一個可以交互的中國地圖. 像這類複雜的自定義空間,如果要我們自己來畫,我估計會讓我開始懷疑人生吧! 好了 廢話不多說,下面我們就用sv

原创 使用一種獨特的方式實現動畫框架

使用一種獨特的方式實現動畫框架 在App中,爲了展現的效果更佳,設計師通常都會加入一些動畫的元素在裏面,在現在的各類應用中,動畫也變得越來越常見,今天,分享的是一種實現動畫框架的思路,具體的效果圖可以參考下面這個視差動畫(只是例子):

原创 Xfermode初探

最近接觸到一個新東西,Xfermode,這個東西不知道大家有沒有聽過,他到底是幹啥的呢: 使用Xfermode,可以將我們繪製的圖形與Canvas畫板上對應點的像素按照一些規則來進行回合,得到最終的像素,然後在更新到canvas上,得到

原创 使用Adapter設計模式打造一個流式佈局FlowLayout

流式佈局可以說是在各種軟件中的出場率都很高的一個佈局方式,被廣泛使用,像一些關鍵字搜索,標籤等等的場景,更是隨處可見,今天我們就來手把手打造一個FlowLayout。 FlowLayout由於是以一個容器的身份存在的,所以其需要繼承的是

原创 Android性能優化學習之App啓動性能優化

在用戶打開app的時候,第一個能夠給用戶產生好的印象的就是app的啓動速度了。 隨着一個App的業務量越來越複雜,模塊越來越多,app的啓動速度就會不可避免的受到影響,有的甚至會產生黑屏或者白屏一段時間的現象,讓我們細想一下,用戶在點開a

原创 View的touch事件分發過程

有的時候,在自定義view的時候,在處理觸摸事件的時候,總會有點問題:onTouch和onTouchEvent到底有什麼不一樣,還有就是一個View的所有的觸摸事件,到底是怎麼進行分配的呢? 今天,我們帶着疑問,來一探究竟: 首先,來看

原创 Android:軟鍵盤彈出配合界面效果脫坑

想必大家都會用到微信吧,不知道大家有沒有注意到微信的登錄界面,但我們在點擊輸入框的時候,界面上的部分UI佈局會因爲軟鍵盤的彈出而向上移動,效果如下:(今天使用小蘿貝控機的,所以可能會看着效果有點卡卡的) 爲什麼要說這個呢,對,就是因爲需

原创 仿雅虎新聞的加載自定義view

首先,來看一下今天我們需要實現的一個效果: 就是這麼一個效果(最後從網上照了一張adidas的壁紙,希望不要被打) 首先,我們先來分析一下這個動畫的實現步驟: 首先,第一個進入的是一個6個小圓組成的一個大圓的旋轉動畫 在旋轉動畫結束了

原创 實現沉浸式狀態欄

Android從4.4的版本開始,就可以自己來定義狀態欄的顏色了,下面,我們來看一下實現方式: 1:沉浸式狀態欄的實現方式: /** * 設置狀態欄的顏色 * 分爲兩種情況 * 1:噹噹前SDK版本在5.0

原创 開發小技巧之在Application中監聽App中的Activity的生命週期

在有一些場景下,需要我們在app從後臺進程到前臺進程的切換過程中,做一些操作,如展示一個公司廣告頁面等等情況。這個時候,我們可以在我們的Application中來監聽當前App的狀態,Google已經給我們封裝好了方法: public c