原创 設計模式-12-狀態模式

狀態模式: 原理:一個對象在其內部狀態改變的時候改變其行爲 結構: 環境角色(Context):定義客戶端感興趣的接口,並保留一個具體狀態類的實例 抽象狀態角色(State):定義一個接口,用以封裝環境對象的一個特定狀態所對應的行爲 具

原创 Comparator 和 Comparable 比較

Comparable是排序接口;若一個類實現了Comparable接口,就意味着“該類支持排序”。而Comparator是比較器;我們若需要控制某個類的次序,可以建立一個“該類的比較器”來進行排序。 我們不難發現:Comparable

原创 多種多樣APP主界面Tab實現

由於APP的空間比較小,爲了顯示更多的內容以及更好的排版APP的內容形式,我們需要向用戶展示大量的數據以及動畫功能,這個時候我們就需要使用到Tab實現滑動顯示更多的內容 接下來我們主要講解4種實現方法 實現的效果 Viewpager實

原创 Scaledrawable

對另一個drawable資源,基於當前的level,進行尺寸變換的drawable。 語法 元素:<scale> 定義一個ScaleDrawable,必須作爲根元素。 android:drawable Drawable 資源。必須的

原创 設計模式-9-模板模式

模板模式 原理:在一個方法中定義了一個算法的骨架或者步驟,而將一些步驟延遲到子類中去實現 模板方法可以使得子類在不改變算法結構的情況下,重新定義算法中某一些步驟 結構 模板方法中的方法可以分爲兩類:模板方法和基本方法(基本方法又可以分爲

原创 設計模式-13-代理模式

代理模式 原理:多一個代理類出來,替原對象處理操作,代理對象可以在客戶端和目標對象中起到中介的作用 分爲靜態代理和動態代理 結構: 抽象角色:聲明真實對象和代理對象的共同接口 代理角色:代理對象角色內部含有真實對象的引用,從而可以操作真

原创 Handler詳解

Handler是什麼 Handler是android提供給我們用來更新UI的一套機制 Handler是android提供給我們的一套消息處理機制:可以發送消息也可以處理消息 例如:Activity的生命週期回調方法都是通過Handler機

原创 clipDrawable詳解

ClipDrawable 是對一個Drawable進行剪切操作,可以控制這個drawable的剪切區域,以及相相對於容器的對齊方式,Android中的進度條就是使用一個ClipDrawable實現效果的,它根據level的屬性值,決定剪

原创 Rotatedrawable詳解

對另一個drawable資源,基於當前的level,進行旋轉的drawable 語法 元素: <rotate> 定義一個RotateDrawable,必須作爲根元素。 屬性: xmlns:androidString類型。 必須的

原创 設計模式-10-迭代器模式

迭代器模式 原理:提供一種方法訪問一個容器對象中各個元素,而又不暴露該對象的內部細節 結構 抽象容器:一般是一個接口,提供一個iterator()方法   例如java中的Collection、Set、List等接口 具體容器:抽象容器

原创 MD-Snackbar的使用

Snackbar 是用來取代Toast的,官方推薦和CoordinatorLayout一起使用在,這樣可以讓用戶右滑退出Snackbar 代碼示例 <?xml version="1.0" encoding="utf-8"?> <andr

原创 Github for windows的使用

在android studio中是有內置的上傳項目到Github的,但是一直上傳失敗,只能上傳項目的名稱,但是代碼上傳不了,所以使用了Github for windows 一:下載GitHub for Windows 2.0  

原创 InsetDrawable詳解

InsetDrawable 表示一個drawable根據指定的距離嵌入到另外一個drawable內部。(我們看到的其實還是同一張圖片,只是會空出一些邊距)當控件需要的背景比實際的邊框小的時候比較適合使用InsetDrawable。 很像d

原创 反射詳解

什麼是類類型 1.Class類   1) 在面向對象的世界裏,萬事萬物皆對象。(java語言中,靜態的成員、普通數據類型除外)    類是不是對象呢?類是(哪個類的對象呢?)誰的對象呢?    類是對象,類是java.lang.Class

原创 設計模式-11-組合模式

組合模式 原理:又叫做部分-整體模式,將對象組合成樹形結構以表示“部分整體”的層次結構 例如:文件系統由目錄和文件組成,目錄可以裝內容,內容可以是目錄或者文件,按照這樣看的話我們的文件系統就是以遞歸的結構來組織的。如果想使用這種數據結構那