原创 Android getScrollX()詳解

在開發中相信大家在自定義View時會時不時的使用getScrollX()方法,爲了便於之後的開發工作,本篇博客主要記錄了我對getScrollX()方法的理解。 getScrollX:Return the scrolled left po

原创 Java設計模式之代理模式

1、概念 就是一個人或者機構代表另一個人或者機構做事情。線程池使用的就是代理模式。 2、運用 代理模式一般涉及到的角色有: 抽象角色:聲明真實對象和代理對象的共同接口;  代理角色:代理對象角色內部含有真實對象的引用,從而可以操作真實對象

原创 Java設計模式之模板方法設計模式

1、運用 在定義功能時,功能的一部分是確定的,但是有一部分是不確定的,而確定的部分在使用不確定的部分,那麼這時將不確定部分暴露出去,由該類的子類去完成。 2、創建模板模式步驟 1)定義一個(或者多個)抽象方法,讓子類去實現; 2)定義並實

原创 Java設計模式之缺省模式

1、概念 缺省適配模式爲一個接口提供缺省實現,這樣子類型可以從這個缺省實現進行擴展,而不必從原有接口進行擴展。開發中BaseAdapter實現ListAdapter就是使用這種設計模式。 2、運用 一個接口有很多抽象方法,當要寫接口的實現

原创 Android性能優化之內存優化

1、內存溢出的原因 1.1、內存泄漏 內存泄漏和內存溢出的區別: 內存泄漏:程序中存在對無用對象的引用,導致GC無法回收。內存泄漏最終會導致oom。 內存溢出:程序在申請內存時,沒有足夠的內存空間供其使用,出現out of memory。

原创 自定義View解析之自定義View實戰(四)

前面我們對自定義View的理論有所認識,接下來,我們通過幾個自定義View的例子來加深對自定義View的理解。 1、定義帶有刪除按鈕的EditText 需求分析:如下圖   其實就是在EditText右邊加入一個小圖標,當點擊小圖標就可以

原创 Android自定義View解析之視圖狀態及視圖重繪(二)

1、最常用的幾種視圖狀態 1. enabled 表示當前視圖是否可用。可以調用setEnable()方法來改變視圖的可用狀態,傳入true表示可用,傳入false表示不可用。它們之間最大的區別在於,不可用的視圖是無法響應onTouch事

原创 Java設計模式之觀察者模式

1、概念 觀察者模式是對象的行爲模式,又叫發佈-訂閱(Publish/Subscribe)模式、或者源-監聽器(Source/Listener)模式。觀察者模式對象之間的關係是一對多的關係,當一個對象發生變化時,其他依賴該對象的對象都會收

原创 MotionEvent的getX()和getRawX()的區別

在自定義View的過程中,我們總是會接觸到MotionEvent對象,而總是會對該對象的getX(),getY()和getRawX(),getRawY()的表示的意思模糊不清,遂寫下這篇博客,以便幫助和我一樣,曾經被這個問題困擾的學者。

原创 自定義滑動菜單SlidingMenu

最近沒事就模仿scdn客戶端的左右側滑效果,自定義了一個SlindingMenu,雖然github上已經有了相當成熟的SlindingMenu開源框架,但本博客旨在幫助更多同學理解SlidingMenu的原理,使使用起來更得心應手。 1

原创 版本控制(上)——Git使用教程

1、Git簡介  Git是用於Linux內核開發的版本控制工具,它採用了分佈式版本庫的作法,不需要服務器端軟件,就可以運作版本控制,使得源代碼的發佈和交流極其方便。 Git基本交互流程圖如下:  使用Git進行版本控制有兩種方式,一是使

原创 Android Scroller分析

Scroller,這個對象裏有startScroll方法的重載,提供的起始點和將要滑動的距離開始滾動。如下: public void startScroll (int startX, int startY, int dx, int dy)

原创 版本控制(下)——使用Git將代碼託管到github

不關你是一個it新人還是一個大牛,最基本的你需要一個github賬號,這樣你便可以在github上分享自己的成果或者下載被人優秀的項目。 第一步——註冊一個github賬號: 百度搜索github,進入官網註冊即可,至於怎麼註冊不用明說

原创 Java設計模式之適配器模式

1、使用場景 適配器模式把一個類的接口變換成客戶端所期待的另一種接口。以消除由於接口的不匹配所造成類的兼容性問題。適配器模式主要有類的適配器模式、對象的適配器模式兩種。 2、兩種適配器模式介紹 模式所涉及的角色有:   目標(Target

原创 Android ViewPager之實現輪播廣告效果

相信大多數Android開發者在項目中使用到過ViewPager,其實ViewPager在項目開發中使用 的頻率是非常高的,比如:首次打開項目的嚮導界面以及在輪播圖中都會使用到ViewPager,那麼本篇博客接下來就是記錄使用ViewPa