2013-01-05 58 views
2

我一直在尋找這一段時間,但不能真正找出任何干淨的方式來做到這一點。Android:更改src alpha並保持背景(混合src與顏色)

我開發了一些按鈕的應用程序,主要是這樣定義的:

<ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="#000000" 
    android:contentDescription="@null" 
    android:src="@drawable/btn1" /> 

有一個onTouchListener改變與setAlpha(0.5f)按鈕α,但它也改變了背景阿爾法,這是不是我需要。我想讓它看起來更黑暗,而不是透明。

我看到這個問題:Android Graphics: Changing the alpha of just an image (not the background),並且該解決方案實際上可行,但對我而言,在我的應用中爲每個按鈕創建一個FrameLayout聽起來不太合適。

鑑於背景是平坦的顏色,我認爲會有一個更簡單的解決方案,比如顏色混合或類似的東西,但是在任何地方都找不到它。

SOLUTION

剛剛發現了這個帖子:http://tech.chitgoks.com/2011/04/17/android-change-imagebutton-tint-to-simulate-button-pressed/

解決辦法很簡單,只要:

button.setColorFilter(Color.argb(150,0,0,0)); 

回答

2

可以使用getDrawable()方法獲取圖像繪製,並試圖改變其alpha 。

+0

謝謝,它實際上做到了。但是如果我的鈕釦是圓形的呢?有沒有辦法讓它們變暗而沒有大的黑色方塊? – Aboud