原创 Material Design5.x動畫實現解析篇一

Material Design設計語言動畫篇共推出六種類型的動畫效果: 1、Touch feedback(觸摸反饋) 2、Reveal effect(揭露效果) 3、Activity transitions(Activity

原创 Android中使用SVG矢量圖(一)

SVG矢量圖介紹 首先要解釋下什麼是矢量圖像,什麼是位圖圖像? 1、矢量圖像:SVG (Scalable Vector Graphics, 可伸縮矢量圖形) 是W3C 推出的一種開放標準的文本式矢量圖形描述語言,他是基於XML的

原创 Android性能優化之界面UI篇

1、使用style、color、string、dimen樣式來分離xml佈局文件,減少代碼的重複使用,增加代碼複用率,防止hardcode,下面是一個例子: 在定義layout時候,因爲每個View或ViewGroup都必須要有

原创 Android中讓多個線程順序執行探究

線程調度是指按照特定機制爲多個線程分配CPU的使用權。 有兩種調度模型:分時調度模型和搶佔式調度模型。   分時調度模型:是指讓所有的線程輪流獲得cpu的使用權,並且平均分配每個線程佔用的CPU的時間片。 搶佔式調度模型:是

原创 Android免Root無侵入AOP框架Dexposed

Dexposed框架是阿里巴巴無線事業部近期開源的一款在Android平臺下的免Root無侵入運行期AOP框架,該框架基於AOP思想,支持經典的AOP使用場景,可應用於日誌記錄,性能統計,安全控制,事務處理,異常處理等方面。

原创 Android下拉上滑顯示與隱藏Toolbar另一種實現

關於介紹就不說了,不使用嵌套滑動情況下,另一種實現,當然還可以用design包下的CoordinatorLayout.Behavior。比較簡單直接添代碼: 繼承RecyclerView.OnScrollListener重寫onS

原创 ORM對象關係映射之GreenDAO高級用法

CRUD 增加: dao.insert(Student entity);//添加一個 dao.insertInTx(Student... entity);//批量添加 刪除: dao.deleteByKey(Long key);/

原创 RecyclerView添加Header和Footer

使用過RecyclerView的同學就知道它並沒有添加header和footer的方法,而ListView和GirdView都有,但是開發過程中難免有需求需要添加一個自定義的header或者footer,或者不同佈局的Item。

原创 Android實現RecyclerView側滑刪除和長按拖拽-ItemTouchHelper

RecyclerView這個被譽爲ListView和GirdView的替代品,它的用法在之前的一篇博文中就已經講過了,今天我們就來實現RecyclerView的側滑刪除和長按拖拽功能,實現這兩個功能我們只需要一個類——ItemTo

原创 Android Studio中創建Kotlin For Android項目

Kotlin俗稱Android中的Swift,它是Jetbrains公司開發的基於JVM的一門語言,JetBrains公司可能大家並不熟悉,不過相信IntelliJ IDE大家一定知道,Android Studio正是基於它開

原创 ORM對象關係映射之GreenDAO建立多表關聯

利用GreenDAO可以非常方便的建立多張表之間的關聯 一對一關聯 通常我們在操作數據庫的時候,我們往往不是單獨的對一張表進行操作,而是對這張表的操作會聯動的影響另外一張表或者多張表,比如:現在有兩張表,一張是用戶User表(有n

原创 Material Design之視圖狀態改變

視圖狀態改變是通過StateListAnimator動畫集來改變View的狀態的,它可以使View在不同狀態下發生不同的變化,如下是在drawable目錄下定義一個StateListAnimator: <?xml version=

原创 Android使用SVG矢量動畫(二)

上篇我們學習了怎麼顯示SVG矢量圖像,當然還有一個更強大的功能,就是讓SVG圖像動起來,先上一張效果圖吧: 要實現上述動畫效果,就得用AnimatedVectorDrawable這個類了,它就是負責VectorDrawable

原创 Android主題切換—夜間/白天模式探究

現在市面上衆多閱讀類App都提供了兩種主題:白天or夜間。 上述兩幅圖片,正是兩款App的夜間模式效果,所以,依據這個功能,來看看切換主題到底是怎麼實現的(當然現在github有好多PluginTheme開源插件,很多時候可

原创 Android百分比佈局支持庫(android-percent-support)

Android中提供了五種佈局,其中用的最多的就是:LinearLayout, RelativeLayout 和 FrameLayout這三種佈局,在對某一界面進行佈局時最先想到也是通過這三種來佈局的,不過當某一界面過於複雜時,往