編輯:關於Android編程
Android中的Matrix類是一個比較簡單的3x3的3階矩陣,結構如下:
有了上訴描述了,所謂的矩陣變換主要就是針對這個3階矩陣進行算術運算了!如平移操作從(0,0)平移到(10,120)則直接將上述矩陣的MSCALE_X=10和MSCALE_Y=120即可Matrix.setValues(matrix數組)。這樣Canvas就可以使用該矩陣進行繪圖操作,實現平移。
其中旋轉矩陣比較特殊的,其結構如下:
同時我們知道矩陣的乘法是不對稱的,即A*B !=B*A,這樣的話就涉及到矩陣乘法中的左乘和右乘了,同樣Android中Matrix中也實現了左乘和右乘的函數,所有postXXX均為左乘運算,所有preXXX均為右乘運算。這點在我們使用Matrix進行組合變換時需要注意的問題。
同時由於矩陣對象最後的狀態是進過所有變換後運算獲得的矩陣,所有如果你需要重新使用該矩陣又不想保留之前的狀態時,需要調用reset()重置矩陣的狀態,以免發生錯誤。同時需要注意的是Matrix類的setXXX方法都會默認調用reset()進行矩陣的重置,所以在實現組合變換時一點要注意不要在變換的中間調用setXXX方法,這樣setXXX方法之前的變換都被忽略了。
Android 破解視頻App去除廣告功能作為一個屌絲程序猿也有追劇的時候,但是當打開視頻app的時候,那些超長的廣告已經讓我這個屌絲無法忍受了,作為一個程序猿看視頻還要
先給大家展示下效果圖,如果大家大家感覺不錯,請參考實現思路及代碼1 ViewPager類提供了多界面切換的新效果。新效果有如下特征:[1] 當前顯示一組界面中的其中一個界
本文主要有以下內容:* 自定義View的分類* 自定義View的注意事項* 自定義View的實現* 自定義View使其支持wrap_content和padding* 自定
碎片之間進行交互 點擊下載源碼 很多時候,一個活動中包含一個或者多個碎片,它們彼此協作,向用戶展示一個一致的UI。在這種情況下,碎片之間能進行通信並交換數據十