上一篇提到了說要如何改變 Drawable 的顏色
裡面的這段 code 其中最精華的就在這裡
ProterDuff.Mode 這是決定了新舊顏色的組合方式
一共有基本的 13 種方式,還有讓重疊顏色的方式不同的 5 種方式
今天我們來講基本方式就夠了,另外 5 種概念一樣,效果不同而己
現在假設我們有一個 紅圓形 與 藍方形,例圖如下
1、ProterDuff.Mode.ADD
保留兩者,並疊色
2、ProterDuff.Mode.CLEAR
清空
3、ProterDuff.Mode.DST
只留紅圓形
4、ProterDuff.Mode.DST_ATOP
保留藍方形並蓋上紅圓形交集處
5、ProterDuff.Mode.DST_IN
只留交集處,以紅圓為主
6、ProterDuff.Mode.DST_OUT
不留交集處,以紅圓為主
7、ProterDuff.Mode.DST_OVER
直接蓋上紅圓形
8、ProterDuff.Mode.SRC
只留藍方形
9、ProterDuff.Mode.SRC_ATOP
只留紅圓,交集處蓋上藍方形
10、ProterDuff.Mode.SRC_IN
只留交集處,以藍方形為主
11、ProterDuff.Mode.SRC_OUT
留下藍方形未交集處
12、ProterDuff.Mode.SRC_OVER
直接蓋上藍方形
13、ProterDuff.Mode.XOR
去掉交集處
以上就是 13 種基本方式的解說
資料來源:
https://developer.android.com/reference/android/graphics/PorterDuff.Mode
留言列表