在我的應用程序中,我需要更改某個按鈕的背景顏色以響應某些事件。該工程通過設置創建繪製,並設置其油漆和使用作爲繪製按鈕背景罰款:如何將alpha蒙版應用於Android可繪製?
ShapeDrawable drawable = new ShapeDrawable(roundRectShape);
drawable.getPaint().setColor(color);
b.setBackground(drawable);
現在,我想覆蓋阿爾法遮掩到該繪製,創造了「條紋」按鈕。下面是它看起來應該像一個藍色和黑色按鈕(假設白色作爲背景色,但這些部分應該真的是100%透明):
我在Inkscape中做這個alpha遮罩,以及成功將其導入爲矢量資產。我可能需要將它轉換爲各種位圖,但我不確定。
我讀過一堆文章,提到PorterDuff矩陣應用的SO問題,但還沒有能夠將這些問題轉化爲解決我目前的問題。
任何人都知道如何做到這一點?
這是另一種可視化,希望能讓事情更清楚。按鈕的父視圖的背景顏色爲淡粉色這裏,按鈕邊框輪廓變成紅色(但確實應該在最終產品中不可見的):
我不太明白你的解釋。爲了清楚起見,您可以生成一個按鈕的圖像,因爲它會出現在設備上? – Karakuri
@Karakuri,我已經添加了另一個示例,概述了按鈕邊框並使背景變爲非白色。這有助於解釋理想的結果嗎?它仍然在Inkscape中被嘲笑,因爲我還沒有弄清楚在Android中如何做到這一點:) – Alice
只是一個想法,但它可能更容易創建自己的視圖子類,它需要一個顏色並繪製6條本身一個'Paint'對象。關於Android視圖的一個骯髒的小祕密:任何視圖都可以點擊(所以你實際上不需要「Button」......除非你想要那裏的文本,那麼你可能需要一個Button)。 – Karakuri