此問題在某種意義上跟隨this post,並基於the solution showed on this post。但無論如何,我會嘗試以完整的方式提出問題。ColorMatrixColorFilter不適用於自定義按鈕背景
我有自定義按鈕與背景選擇器組成的正常狀態可繪製和按狀態可繪製。該可繪顏色onSizeChanged()
使用PorterDuffColorFilter
getBackground().mutate().setColorFilter(backGroundColor, Mode.MULTIPLY);
這部分工程確定的方法改變。但我想通過改變@kcoppock在his post指出的Hue來改善顏色選擇。
- 我創建了一個
ColorMatrixColorFIlter
使用推薦的代碼,我看到使用調試器Eclipse中的矩陣,似乎罰款。 - 當我嘗試使用
ColorMatrixColorFIlter
而不是PorterDuffColorFilter
時,按鈕可繪製保留未上色就好像過濾器未應用或無效。
第二個問題,相關:我如何去改變選擇器中的每個Drawable到不同的顏色?
EDIT
一些更多的信息,與調試器我看到這個矩陣,爲240度(或-120度)色相偏移的代碼之後(浮點夾到3個小數位)
[ 0.004, 1.692, -0.696, 0.000, 0.000 ]
[ 0.196, 0.451, 0.353, 0.000, 0.000 ]
[ 1.001, 0.453, -0.454, 0.000, 0.000 ]
[ 0.000, 0.000, 0.000, 1.000, 0.000 ]
根據我的理解,這個矩陣並不靠近單位矩陣,你甚至可以看到每一行的總和恰好是1,所以顏色應該移位。我應該在按鈕中看到一些顏色變化。
此外,剛看到這個矩陣正在採取我硬編碼它刪除R分量
[ 0 0 0 0 0 ]
[ 0 1 0 0 0 ]
[ 0 0 1 0 0 ]
[ 0 0 0 1 0 ]
,然後我看到青色的按鈕,所以這意味着過濾器的工作,但我不能讓色調發生變化。